<<< Förra avsnittet Innehåll Nästa avsnitt >>>

Magic Cookies

Magic Cookies är en metod för en server eller ett CGI-program att spara information som rör en viss användare hos den användaren. När användaren går in på en viss sida så ger servern användarens webbläsare en "kaka", en Magic Cookie, som webbläsaren sparar i sin "kakburk", en fil på användarens hårddisk. Nästa gång som användaren besöker samma sida lämnar webbläsaren ifrån sig kakan till servern som kan basera sitt agerande på innehållet i den.

Kakan är en rad text som innehåller ett NAME/VALUE-par, samt ofta information om till vilken server och vilken sida på servern som kakan ska ges när användaren går dit. Dessutom kan kakan innehålla ett datum och/eller tid då den inte gäller längre.

Kakor kan användas för alla tillämpningar när man vill hålla reda på vem användaren är från gång till gång hon besöker ens sidor. Ett klassiskt exempel är "shoppingvagnen" där användaren går från sida till sida och samlar ihop de varor hon vill ha, och till slut beställer dem på en beställningssida. Information om vilka varor hon valt ut kan då lagras i en kaka som skickas av webbläsaren till servern när användaren går in på beställningssidan.

Andra exempel är att användaren första gången hon går in på en flerspråkig webbtjänst väljer vilket språk hon föredrar, och att den informationen sparas i en kaka som ges till servern varje påföljande gång hon går dit, så att servern "automagiskt" kan välja rätt språk. Man kan också spara uppgifter som kundnummer, användarnamn och lösenord i en kaka, så att besökaren slipper skriva in dem på nytt. Man ska dock vara försiktig med att lita alltför mycket på kakor som besökarnas webbläsare ger tillbaka till servern, eftersom de lagras i en textfil som förslagna personer lätt kan redigera.

Man ska också vara medveten om att många användare av integritetsskäl ogillar den möjlighet att registrera sina besökare som kaktekniken ger, och därför har slagit av funktionen i sina webbläsare.

Servern eller ett CGI-program ger kakan till webbläsaren genom en extra HTTP-header-rad:

Set-Cookie: NAME=VALUE; expires=DATE; domain=DOMAIN; path=PATH; secure
Webbläsaren sparar kakan i sin "kakburk", och nästa gång som användaren klickar fram den sida med ett namn som matchar PATH på en server vars namn matchar DOMAIN och tiden DATE inte har gått ut kommer webbläsaren ge kakan till servern genom en extra rad i sin begäran att få se sidan. Raden ser ut som:
Cookie: NAME=VALUE
Har webbläsaren flera kakor som matchar kritererierna ovan ger den alla på samma rad:
Cookie: NAME1=VALUE1; NAME2=VALUE2
NAME och VALUE
kan vara vilken text som helst som inte innehåller semikolon, komma eller mellanslag. NAME och VALUE är det enda som måste vara med i en Set-Cookie.
DATE
är det datum och tid som kakan ska sluta gälla. Strängen formateras som i
Wednesday, 09-Nov-99 23:12:40 GMT
Om DATE inte anges gäller kakan tills användaren stänger av sin webbläsare.
DOMAIN
är namnet på den server som kakan ska ges till vid nästa besök. Namnet matchas bakifrån så att .firma.se både matchar servrarna order.firma.se och shopping.korg.firma.se. Bara servrar som själva matchar DOMAIN kan ge kakan, och DOMAIN måste innehålla två punkter (det går till exempel inte att ha DOMAIN=".se").
Om DOMAIN inte anges sätts den till samma som den server som gav kakan.
PATH
är adressen till den sida som kakan ska ges till. PATH matchas framifrån, så att "/foo" matchar både "/foobar" och "/foo/bar.html". PATH="/" matchar alla sidor på servern.
Om PATH inte anges sätts den till samma som den sida som gav kakan.
secure
anger att kakan bara får skickas över säkra förbindelser, d.v.s. kakan kommer bara att skickas om förbindelsen mellan server och klient är krypterad med SSL (s.k. https-servrar).
Ett CGI-program kan ta in den kaka som webbläsaren skickat genom att läsa av environment-variabeln HTTP_COOKIE.

Läs specifikationen till Magic Cookies här

<<< Förra avsnittet Innehåll Nästa avsnitt >>>


Copyright © Anders Hultman 1998-02-21