AWWW-1st3.6-w04.tresc-1.1-Slajd13
Zmienne Cookies
Protokół HTTP został zaprojektowany jako bezstanowy, co oznacza, że serwer HTTP nie potrafi rozpoznać czy określone żądania HTTP pochodzą od tego samego użytkownika końcowego, czy od użytkowników niezależnych. Ponieważ wiele zastosowań aplikacyjnych wymaga korelowania żądań HTTP, dlatego zaproponowano rozszerzenie funkcjonalności protokołu o obsługę niewielkich zmiennych o czasie życia dłuższym od czasu trwania połączenia HTTP. Zmienne te nazwano Cookies.
Zmienna Cookie jest powoływana do życia przez aplikację pracującą po stronie serwera HTTP, a następnie przesyłana do klienta HTTP. Zadaniem klienta HTTP jest przechować tę zmienną, a następnie wysyłać ją do serwera HTTP wraz z kolejnymi żądaniami HTTP. Dzięki temu serwer HTTP ma możliwość tymczasowego przechowywania zmiennych w pamięci klienta HTTP, a co się z tym wiąże, podtrzymywać stan aplikacji obsługującej klienta.
Każda zmienna Cookie posiada nazwę, wartość będącą łańcuchem znakowym, czas życia określający jak długo klient HTTP powinien ją przechowywać, oraz zasięg rozumiany jako dziedzinę adresów URL, którym zmienna ta będzie udostępniana. Jeżeli czas życia zmiennej Cookie wynosi "-1", to zmienna jest przechowywana w pamięci operacyjnej. W przeciwnym przypadku jest zapisywana na dysku przez klienta HTTP.