Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

TDAT2004 Datakommunikasjon med nettverksprogrammering. Oppgave nummer 5, Informasjonskapsler (cookies). Deltakere er Olav Reppe Husby, Magnus Storhaug Hammer og Sindre Hammerø Kroknes. 

...

Widget Connector
urlhttps://www.youtube.com/watch?v=vF9Qy_HdzCA

Table of Contents

1. Innledning

...

Informasjonskapsler, eller cookies som de også kalles, hører hjemme i applikasjonslaget. En informasjonskapsel er en liten mengde data som sendes fra en nettside og som lagres på brukerens datamaskin, de er designet for å ha en pålitelig mekanisme for å huske tilstandsinformasjon eller å lagre informasjon om brukerens aktiviteter på internett (knapper som er klikket på, innlogging, eller hvilke nettsider som har blitt besøkt).

Historien for informasjonskapsler går helt tilbake til juni 1994, da Lou Montulli (som fikk ideen med informasjonskapsler) jobbet for Netscape1. Netscape var leid inn av MCI for å lage et system for e-handel, men produkteierne ville ikke lagre uferdige transaksjoner på serveren, dette løste de ved å lagre tilstanden på brukerens datamaskin [1]. Allerede april 1995 begynte en gruppe i IETF å jobbe med å standardisere informasjonskapsler, i februar 1997 ble spesifikasjonen RFC 2109 ferdigstilt [2]. I oktober 2000 ble RFC 2109 erstattet med RFC 2965 [3]. En definitiv spesifikasjon på hvordan informasjonskapsler skal brukes ble gitt ut april 2011[4], som RFC 6365 [62655]. I dag gjør IETF vedtak rundt standarden om informasjonskapsler.

...

Informasjonskapsler brukes ofte til sessjonshåndtering, for å fortelle serveren om brukeren er logget inn, og hvilken bruker det er. De blir også brukt for å lagre informasjon om brukere for bruk med målrettet reklame.


3. Virkemåte

...

For å opprette og endre informasjonskapsler benyttes HTTP headeren Set-Cookie. Når en nettleser mottar en slik forespørsel opprettet oppretter den en informasjonskapsel og sender den med alle fremtidige forespørsler til serveren.

...

Secure setter et flagg som indikerer at informasjonskapselen kun skal sendes kan skal sendes kryptert, med HTTPS.

...

En informasjonskapsel identifiseres ved name, domain og path atributtene. For å endre en informasjonskapsel må en ny Set-Cookie header sendes, med samme name, domain og path. 

 

HTTP/1.0 200 OK

Set-Cookie:
 parameter=verdi;
 Expires=Thurs, 15 June 2017 21:47:38 GMT;
 Path=/;
 Domain=ntnu.no;
 Secure;
 HttpOnly;

 

Her lager vi en cookie med ett nøkkel-verdi par, som går ut 15 Juni, pathen er /, domenet er ntnu.no, og den er secure og httponly.

 

Bruk av cookies:

Lese cookie: It’s Learning eksempel


 

Her ser man hvordan man enkelt kan få tak i cookie i JavaScript ved å bruke document.cookie

Sette cookie: It’s Learning eksempel

Her ser man hvordan man kan legge til nøkkel-verdi par i cookie ved å bruke document.cookie  

Wireshark pakkefangst:

Ovenfor er en pakkefangst av en HTTP-header med en informasjonskapsel, her ser man at den valgte delen inneholder “TestCookie_1234=TestCookie_Value_1234”. TestCookie_1234 er da navnet på informasjonskapselen, og TestCookie_Value_1234 er verdien informasjonskapselen inneholder.


4. Referanser

Hvor finner man mer aktuelt lesestoff om dette temaet?

...

  1. http://www.nytimes.com/2001/09/04/business/giving-web-a-memory-cost-its-users-privacy.html

  2. https://tools.ietf.org/html/rfc2109

  3. https://tools.ietf.org/html/rfc2965

  4. http://www.thesecuritypractice.com/the_security_practice/2011/03/http-state-management-mechanism-to-proposed-standard.html

  5. https://tools.ietf.org/html/rfc6265