HTTP Cookies.

Sissejuhatus.

HTTP küpsiseid (cookies) kasutatakse kliendi oleku säilitamiseks serveri poole peal. Küpsiste abil on võimalik kliendi üle arvet pidada.

Küpsiseid saab edukalt kasutada CGI baasil tehtud müügi programmides järje pidamiseks, mida klient on juba teinud (ostukorvi pannud). Küpsiseid saab edukalt kasutada ka siis, kui ei taheta kliendi tegevuse tulemust kasutajale järgmistesse päringutesse dünaamiliselt tekitavatel lehtedel "ette sööta". Viimasel võimalusel võib klient informatsiooni muutmise teel serverit petta.

Viimasel ajal levinud Internetis liikuvate inimeste anonüümsuse tagamise kampaaniate pärast osad WWW browserid (klient programm) küsivad kasutaja arvamust enne järjekordse küpsise vastu võtmist. Loomulikult ei saa kedagi sundida sellistele kasutajatele teenust pakkuma, kes ei soovi küpsist vastu võtta.

Kasutamine.

Pakkumine.

Küpsise pakub CGI programm kliendile HTTP päises. Klient programm salvestab selle endale hilisemaks kasutamiseks.

Set-Cookie: NIMI=VÄÄRTUS; expires=AEG; path=PATH; domain=DOOMENI_NIMI; secure

NIMI=VÄÄRTUS
Tekst peaks olema URL stiilis %XX kodeeritud. See on ainuke parameeter mida on kindlalt vaja.

expires=AEG
Expires atribuut paneb paika küpsise aegumise tähtaaja.

Formaat:
Wdy, DD-Mon-YY HH:MM:SS GMT

Täpselt kirjeldavad RFC 850, RFC 1036, RFC 822. Ainuke piirang on aja tsoon, mis peab olema GMT.

domain=DOOMENI_NIMI
Atribuut paneb paika doomeni millele küpsis saadetakse. "edu.ee" puhul on saadetakse nii "www.keila.edu.ee" kui ka "www.edu.ee"-le.

path=PATH
Atribuut path paneb paika URL'i, mille peale küpsis serverile tagasi saadetakse.

Näiteks: "/", "/foo", "/foo/file.html"

Kui path pole paika pandud, siis jääb vaikimisi samaks, kus ta saadi.

secure
Kui secure on olemas, siis saadetakse küpsis ainult HTTPS (HTTP+SSL) serverile.

Vastuvõtmine.

Kui klient esitab serverile päringu, siis ta saadab kõik vastavale päringule vastavad küpsised päringu päises serverile formaadis:

Cookie: NIMI1=VÄÄRTUS1; NIMI2=VÄÄRTUS2 ...

Lisaks.

  • Ühes päises võib olla mitu Set-Cookie rida.

  • Samasuguse värtusega path ja NIMI küpsised kirjutatakse uuema poolt üle.

  • path=/foo ei kirjuta path=/foo/file.html üle, aga saadetakse ka päringu /foo/file.html peale.

  • Klient ei pea küpsise kustutama expires näidatud ajal. Atribuut expires näitab, millal on ohutu kustutada. Klient võib ka küpsise üldse kustutamatta jätta.

  • Küpsiste saatmise järjekord: "/foo/file.html", "/foo", "/".

  • Set-Cookie päisega olevaid dokumente proxy serverid ei puhverda (cache).

  • proxy server saadab kõik Set-Cookie päisega dokumendid kliendile olenematta kas ta originaal serveri vastus oli 304 (Not Modified) või 200 (OK).
    Sama moodi saadetakse edasi ka serveritele esitatavad päringud, mis sisaldavad Cookie päist. Isegi If-modified-since päringuga.

    Originaal: http://www.netscape.com/newsref/std/cookie_spec.html

    © Copyright 1996, Kain Kalju
    All Rights Reserved