Cookies i teori og praksis | ||
Velkommen » Oversigt » Gruppen » Projektet » Teori » Praksis » Gæstebog » Op » Sikkerhed » HTTP client-server interaktion » Specifikation » Client-side vs. server-side » Cookies med CGI og JavaScript » Cookies i Netscape Navigator og Microsoft Internet Explorer » |
HTTP client-server interaktionVi vil her forklare, hvad interaktionen mellem en klient og en server involverer teknisk set. Denne forklaring er nødvendig for at forstå, hvorledes cookies behandles af klient og server. De nedenstående HTTP Headers er fanget ved at lave en telnet til port 80 på www.g-b.dk-serveren. Client-server interaktion uden cookiesInteraktion mellem en klient og en server igangsættes altid af klienten, som forespørger en server om information. Serveren svarer derefter på denne forespørgsel ved at sende den ønskede information. Denne interaktion foretages ved hjælp af HTTP Request Header og HTTP Response Header. Når brugeren beder om en URL, sender klienten en HTTP Request Header til serveren blandt andet indeholde følgende (eksempel): GET /torben/cookies/oversigt.htm HTTP/1.0 Serveren accepterer HTTP Request Headeren og svarer klienten med en HTTP Response Header efterfulgt af selve HTML-filen, eksempelvis med følgende indhold: HTTP/1.0 200 OK Server: Netscape-FastTrack/2.0f Date: Thu, 29 May 1997 20:00:55 GMT Accept-ranges: bytes Last-modified: Thu, 29 May 1997 15:26:50 GMT Content-length: 3316 Content-type: text/html Ovenstående eksempel viser det minimum af information, som en server skal have fra en klient for at lave et HTTP Response. Klienten sender normalt flere informationer til serveren, blandt andet vedrørende hvilke MIME-typer klienten kan acceptere. En typisk HTTP Request Header ser eksempelvis således ud: GET /torben/cookies/oversigt.htm HTTP/1.0 Connection: Keep-Alive User-Agent: Mozilla/3.01Gold (Win95; I) Host: 130.226.39.138 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Klient-server interaktion med cookiesFørste gang en klient sender et HTTP Request til en server, som ønsker at sætte en cookie, sender klienten blot en normal HTTP Request Header. Serveren sætter så en cookie ved at inkludere en Set-Cookie HTTP Response Header [Netscape] som en del af HTTP Response Headeren. Det ser således ud: HTTP/1.0 200 OK Server: Netscape-FastTrack/2.0f Date: Fri, 30 May 1997 16:53:36 GMT Set-cookie: track=userid%3A%3A12345%26dato%3A%3A970101; expires=Friday, 01-May-1998 00:00:00 GMT; Content-type: text/html Denne Set-Cookie HTTP Response Header skal genereres af et CGI-program. Cookies sat med JavaScript benytter overhovedet ikke Set-Cookie HTTP Response Headeren i HTTP Headeren. Serveren kan i samme HTTP Response Header inkludere flere Set-Cookie HTTP Response Headers, hvis flere cookies skal sættes. Klienten reagerer på Set-Cookie HTTP Response Headeren ved at kontrollere længden, udløbsdatoen, path og domain for cookien samt antallet af eksisterende cookies, hvorefter den lagres lokalt på brugerens harddisk. Cookies gemmes forskellige steder, afhængig af hvilken browser, man bruger. Se beskrivelser for Netscape Navigator og Microsoft Internet Explorer i afsnittet Cookies i Netscape Navigator og Microsoft Internet Explorer. Dette kan dog forhindres, hvis browseren er sat op til at advare brugeren ved modtagelse af en cookie. Næste gang klienten sender et HTTP Request til serveren, fra hvilken den nu har en cookie, sender klienten en Cookie HTTP Request Header [Netscape] inkluderet i HTTP Request Headeren. Det ser således ud: GET /torben/cookies/oversigt.htm HTTP/1.0 Connection: Keep-Alive User-Agent: Mozilla/3.01Gold (Win95; I) Host: 130.226.39.138 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Cookie: track=userid%3A%3A12345%26dato%3A%3A970101;
|
|
Til toppen | Sidst opdateret den
© 1997-2001 POTE [ Oversigt ] [ pote@g-b.dk ] [ webmaster@g-b.dk ] |