Żądanie i odpowiedź HTTP

Przeglądarki internetowe komunikują się z witrynami zgodnie z protokołem HTTP. Oto ujednolicony zbiór zasad dotyczących komunikacji:

  • Gdy wchodzisz na stronę internetową, przeglądarka wysyła żądania HTTP dotyczące zasobów na stronie, takich jak HTML, CSS, JavaScript i obrazy.
  • Gdy serwer HTTP (serwer WWW hostujący witrynę) otrzyma prawidłowe żądanie HTTP z przeglądarki, odpowie na nie odpowiedzią HTTP.
  • Żądania i odpowiedzi mogą zawierać dodatkowe informacje, czyli nagłówki HTTP.

Weźmy na przykład witrynę cats.example.

Strona internetowa mythical cats.example.

Żądanie

Otworzenie strony cats.example inicjuje łańcuch żądań do różnych domen. Obejmuje to żądanie obrazu hostowanego w usługach cats.example, żądanie skryptu Analytics z usługi analytics.example oraz inne żądania dodatkowych zasobów z innych domen.

Żądania HTTP można uzupełnić o nagłówki żądań HTTP, aby przesłać dodatkowe informacje z przeglądarki do serwera WWW. Na przykład często występują takie nagłówki:

  • Accept-Language: en-US
    Ten nagłówek wskazuje preferowany język użytkownika, w tym przypadku angielski (Stany Zjednoczone).
  • User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
    Ten nagłówek zawiera szczegółowe informacje o przeglądarce i systemie operacyjnym użytkownika. W tym przypadku są to „Mozilla/5.0” (rodzina przeglądarek), „Macintosh” (system operacyjny) oraz „Chrome/127.0.0.0” (wersja przeglądarki).

Odpowiedź

Gdy serwer WWW otrzyma prawidłowe żądanie od przeglądarki, odpowie na nie, przekazując zasób, którego dotyczyło żądanie (tzw. „dane ładunku”): HTML, CSS, JavaScript, plik obrazu, film lub inne dane. Podobnie jak każde żądanie z przeglądarki może zawierać nagłówki żądania, tak każda odpowiedź z serwera może zawierać nagłówki odpowiedzi. Te nagłówki odpowiedzi są wysyłane wraz z ładunkiem.

Nagłówek Set-Cookie zawarty w odpowiedzi informuje przeglądarkę, aby przechowywała pewien tekst: nazwę i wartość. Taki plik nazywamy plikiem cookie HTTP. W odpowiedzi na żądanie cats.example/images/cat.jpg serwer cats.example zawiera nagłówek Set-Cookie:cat=tabby. To polecenie instruuje przeglądarkę, aby zapisała plik cookie o nazwie cat z wartością tabby.

Ten plik cookie będzie dołączany do kolejnych żądań wysyłanych do cats.example,, dopóki nie wygaśnie lub nie zostanie usunięty. Dzięki temu serwer może przechowywać informacje o użytkowniku na wielu stronach internetowych lub sesjach, np. o tym, że użytkownikowi wyświetlono obraz kota pręgowanego.


Header Działanie Przykład Efekt
Odpowiedź HTTP
Serwer do przeglądarki
Set‑Cookie Serwer WWW prosi przeglądarkę o zapisanie pliku cookie. Set‑Cookie:cat=tabby Plik cookie jest przechowywany w Twojej przeglądarce i przesyłany w kolejnych żądaniach do serwera, który go ustawił.
Żądanie HTTP
Przeglądarka – serwer
Cookie Twoja przeglądarka udostępnia plik cookie. Cookie:cat=tabby Plik cookie jest udostępniany serwerowi, który jest miejscem docelowym żądania.

Prezentacje

Narzędzia

Więcej informacji