HTTP: żądania, odpowiedzi, metody i kody stanu
Wspólny zestaw reguł, według których przeglądarka i serwer wymieniają wiadomości.
HTTP (HyperText Transfer Protocol) to protokół wymiany aplikacji Wiadomości między klientem a serwerem w sieci: określa wspólny zestaw reguł, na podstawie których Przeglądarka i serwer wymieniają żądania i odpowiedzi. Każda wiadomość — prośba lub odpowiedź — składa się z podobnych części.
| HTTP-żądanie | HTTP- odpowiedź |
|---|---|
| Metoda: Co robić (GET, POST...) | Kod statusu: jak poszło (200, 404...) |
| Ścieżka: jaki zasób jest potrzebny | Tytuły: Metadane odpowiedzi |
| Nagłówki: metadane żądania | Sedno: Treść – HTML, JSON, plik... |
| Ciało: dane opcjonalne (np. formularz) |
Podstawowe metody HTTP
| Metoda | Znaczenie zwyczajne |
|---|---|
| GET | Uzyskaj dane — otwórz stronę, zobacz lista |
| POST | Wyślij nowe dane — dodaj zadanie, wyślij formularz |
| PUT | Całkowicie zastąpić istniejący zasób |
| PATCH | Częściowa modyfikacja istniejącego zasobu |
| DELETE | Usuń zasób |
Są to powszechne konwencje, a nie prawo fizyczne: żadna z tych metod zmusza serwer do określonego zachowania – Flask wykona każdy kod, który ty zapis do handlera, niezależnie od metody. Ale przestrzeganie tych konwencji rzeczywiście Aplikacja jest zrozumiała dla innych deweloperów oraz dla narzędzi takich jak pamięć podręczna przeglądarki. Nie każda aplikacja korzysta ze wszystkich pięciu metod — mała strona sobie radzi tylko GET i POST jak w sekcji 22.5.
Kody statusowe: Jak przebiegło żądanie
| Zakres | Znaczenie | Przykłady |
|---|---|---|
| 2xx | Sukces | 200 OK, 201 Created |
| 3xx | Przekierowanie | 302 Found, 303 See Other — „zasób musi być wyświetlany pod innym adresem” |
| 4xx | Błąd klienta | 400 Bad Request, 404 Not Found |
| 5xx | Błąd serwera | 500 Internal Server Error |
Rozdział 22.13 pokazuje kod 303 w działaniu — jako część wzorca POST-Redirect-GET, a sekcja 22.31 — kody 400 i 404 podczas obsługi błędów wejściowych.
Treści wiadomości to nie tylko HTML
Ciało odpowiedzi HTTP- może zawierać stronę HTML-, ale równie łatwo — dane w formacie JSON
(sekcja 22.15), obraz, plik CSS-, plik JavaScript- lub dowolny inny plik. To właśnie
nagłówek Content-Type informuje przeglądarkę, jak zrozumieć ciało
Odpowiedź — text/html, application/json,
image/png i tak dalej.