Cookies i Netscape Navigator og Microsoft Internet Explorer

I dette afsnit vil vi beskrive, hvorledes Netscape Navigator og Microsoft Internet Explorer håndterer cookies, samt undersøge, hvorvidt de to browsere overholder specifikationen.

Cookies i Netscape Navigator

Netscape Navigator arbejder med nye cookies i hukommelsen, indtil browseren lukkes. Først da bliver nye oplysninger om cookies skrevet til harddisken i en fil kaldet cookies.txt, som kan editeres med en almindelig tekst-editor. Denne fil indeholder alle oplysninger om cookies, som Netscape Navigator har modtaget. Alle informationer er altså lagret ét sted. Under Windows 95 ligger den som regel under C:\PROGRAMMER\NETSCAPE\NAVIGATOR\cookies.txt. Dette er et eksempel på en sådan fil:

# Netscape HTTP Cookie File
# http://www.netscape.com/newsref/std/cookie_spec.html
# This is a generated file! Do not edit.
www.g-b.dk FALSE /torben/cookies FALSE 890397752 UserName Pote
www.g-b.dk FALSE /torben/cookies FALSE 867598873 WWhenH 865006873090www.g-b.dk FALSE /torben/cookies FALSE 867598873 WWHCount 1
focalink.com TRUE / FALSE 946641600 SB_ID ads01.20878852620152339470
.focalink.com TRUE / FALSE 946641600 SB_IMAGE 74.153::4345.gif#9.1.3.1::3642.gif
ad.adsmart.net FALSE / FALSE 1865395360 ADSMART 807ED79933164FB72BC32100
ad.doubleclick.net FALSE / FALSE 942191940 IAF 27b81e5
www.microsoft.com FALSE / FALSE 937422000 MC1 GUID=23c59dcf6f7511d08b1808002bb74
.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID c65ffb1e,c4186e8f
.illuminatus.com TRUE / FALSE 945734399 Count 4

Figur 2: Indholdet af cookies.txt i Netscape Navigator

Der står blandt andet i filen, at den ikke må redigeres. Det er for så vidt også rigtigt. Det skal forstås således, at hvis man redigerer i en linie og dermed i en cookie, vil denne cookie højst sandsynligvis ikke virke efter hensigten, når denne cookies server modtager den næste gang. De andre cookies virker fortsat.

Lad os som et eksempel se på den første cookie fra ovenstående fil. Denne cookie har en variabel med navnet UserName og værdien Pote. UserName er blevet sendt fra serveren www.g-b.dk og gælder fra path /torben/cookies. Cookien har udløbsdatoen 890397752, hvilket er antallet af sekunder siden 1. januar 1970. Endelig har vi oplysningerne FALSE og FALSE (spalte 2 & 4), som vi ikke har kunne finde en forklaring på. Der er ingen steder beskrevet hvad dette betyder, men det eneste der ikke ellers er til at se direkte i filen er parameteren secure. Vi er derfor af den overbevisning, at den ene eller begge FALSE er en angivelse af secure-parameteren. Ud fra cookies.txt kan vi dog ikke logisk regne ud, hvilken specifik betydning de to har. Man kan dog gætte på, at den første TRUE/FALSE-kolonne angiver, hvorvidt secure var angivet ved oprettelsen af cookien. Den anden TRUE/FALSE-kolonne kan så muligvis angive, hvorvidt det var muligt at benytte en sikker forbindelse.

Cookies i Microsoft Internet Explorer

Microsoft Internet Explorer håndterer lagringen af cookies anderledes end Netscape Navigator. I modsætning til Netscape Navigator gemmer Microsoft Internet Explorer straks cookies, fordi den gemmer cookies i egne filer i Windows\Cookies biblioteket. Disse enkelte filer indeholder en eller flere cookies. Vi har fundet frem til, at filerne navngives ud fra navnet på den besøgte server, hvis cookien gælder for hele domænet, eller ud fra navnet på den sidste del af pathen, hvis cookien kun gælder for visse paths.
Figur 3: Sådan gemmes cookies i Microsoft Internet Explorer
Figur 3: Sådan gemmes cookies i Microsoft Internet Explorer

Udover de enkelte cookie-filer benytter Microsoft Internet Explorer to filer kaldet mm2048.dat og mm256.dat. Filen mm2048.dat indeholder ikke noget sigende udover følgende tekst:

Client UrlCache MMF Ver 3.2

Vi har ikke noget godt gæt på, hvad mm2048.dat bruges til. Derimod indeholder mm256.dat lidt flere genkendelige tekster. Et uddrag af denne kan se således ud:

cookie:leodegrance@www.g-b.dk/torben/cookies
mall(1).txt
*¦ ú ~ @]
„)m¼ ÔÇ5¾»¼  ¾"®• ¾"®•
cookie: leodegrance@www.g-b.dk/torben/cookies/ pote(1).txt

Dette tyder på, at mm256.dat benyttes af Microsoft Internet Explorer som en opslagsfil, hvori den kan finde navnene på de enkelte cookie-filer ud fra det pågældende domæne og dettes path.

I mm256.dat kan man genkende navnene på de cookie-filer, som Microsoft Internet Explorer har oprettet ved modtagelse af cookies fra vores web-sider. Man kan i dette eksempel se navnene mall(1).txt og pote(1).txt. Herunder vises indholdet af cookie-filen pote(1).txt, der indeholder 3 cookies. Vi har for overskuelighedens skyld opstillet oplysningerne om de 3 cookies ved siden af hinanden.

UserName
Pote
www.g-b.dk/torben/cookies
0
1726783360
29131965
1930714720
29125930
*
WWHCount
1
www.g-b.dk/torben/cookies
0
1796783360
29131965
1930214720
29125930
*
WwhenH
865018274630
www.g-b.dk/torben/cookies
0
1796783360
29131965
1930714720
29125930
*

Lad os også her kigge på cookien UserName. Man kan se, at UserName har værdien Pote, og at den kommer fra domænet www.g-b.dk med pathen /torben/cookies. Man kan samtidig se, at de enkelte cookies holdes adskilt af en stjerne (*). Vi kender ikke betydningen af de resterende oplysninger. Der er dog ingen tvivl om, at det blandt andet må være information om udløbsdato og secure.

Test af Netscapes cookie specifikation

Ved at sende mere end 20 cookies til klienten kan vi teste, hvor mange cookies Netscape Navigator og Microsoft Internet Explorer gemmer pr. domæne set i forhold til minimumspecifikationerne hos Netscape.

Vores test af Netscape Navigator viser, at denne browser kun overholder minimumspecifikation om 20 cookies pr. domain. Samme test udført med Microsoft Internet Explorer viste, at vi sagtens kunne få denne browser til at gemme langt mere end 20 cookies pr. domæne. Det lykkedes os i første omgang at gemme 300 cookies, mens vi i senere test kun kunne gemme lidt over 200. Variationen virker besynderlig, men under alle omstændigheder viser dette, at Microsoft Internet Explorer gemmer flere cookies pr. domæne, end specifikationen angiver som minimum.

Det er dog ikke uden problemer, at Microsoft Internet Explorer gemmer så mange cookies, da alle disse cookies sendes tilbage til serveren, når Microsoft Internet Explorer laver et HTTP Request. I praksis betyder det nemlig, at hver gang brugeren klikker på et hyperlink, sendes en Cookie HTTP Request Header indeholdende alle cookies, og det kan påvirke svartiden betydeligt. I værste fald kan et klik på et hyperlink medføre overførsel af 1,2 mb, hvis browseren har 300 cookies i det aktuelle domæne, der hver fylder 4096 bytes. På en langsom forbindelse kan det være fatalt; med en 28,8 kb forbindelse tager det omkring 10 minutter at overføre cookie headerne.

« Teori: Cookies med CGI og JavaScript - Praksis »