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.
Żą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
- 1pc.glitch.me: demonstracja własnego pliku cookie
- 3pc.glitch.me: demonstracja plików cookie innych firm
Narzędzia
- Wyświetlanie, dodawanie, edytowanie i usuwanie plików cookie w Narzędziach deweloperskich Chrome
- Privacy Sandbox Analysis Tool