Sesja w HTTP
W oparciu o ciasteczka działają sesje. Sesje pozwalają serwerowi zapamiętać klienta i przechowywać dla niego informacje.
Na przykład, odwiedzający stronę internetową może składać towary w koszyku sklepu. I po przeładowaniu strony serwer zidentyfikuje klienta i pokaże mu towary, które zostały odłożone w tej przeglądarce.
Przyjrzyjmy się, jak to działa. Jak już wiesz, protokół HTTP nie przechowuje stanu w tym sensie, że serwer nie może odróżnić od jakiego klienta pochodzi zapytanie. Dlatego w tym przypadku używa się obejścia.
Jego istota polega na następującym.
Przy pierwszym zgłoszeniu klienta serwer
ustawia mu ciasteczko z losowym
unikalnym ciągiem znaków. To ciasteczko nazywa się
sesyjnym i zwykle ma
nazwę sessid.
Serwer również przechowuje u siebie listę wszystkich ciasteczek sesyjnych i przywiązuje do nich potrzebne dane. Na przykład, listę wybranych towarów w sklepie.
Przy następnym zgłoszeniu klient będzie wysyłał na serwer ciasteczko sesyjne i serwer zidentyfikuje go po tym ciasteczku i będzie mógł pobrać dane, które zostały zapisane na serwerze dla danego klienta.
Protokół HTTP nie przechowuje danych między zapytaniami. Mimo to, serwer może rozróżnić użytkowników. Jak to jest zaimplementowane?