studyklar
IProg · Skript 3 · Abschnitt 3

Cookies: Daten im Browser, Same Origin Policy und Einwilligung

Fast jede Website setzt Cookies, und fast jede fragt vorher um Erlaubnis. Hier steht, was ein Cookie ist, wer es lesen darf und warum man zustimmen muss. Rechts steht, was der Browser gerade speichert oder prüft. Mit Weiter geht es Schritt für Schritt voran. Ein Klick auf einen Schritt springt direkt dorthin.

Worum es geht

Skript 03, Folien 8 bis 11: Cookies, Same Origin Policy, Rechtliches, Schutz.

HTTP (Hypertext Transfer Protocol), die Sprache zwischen Browser und Server, vergisst nach jeder Anfrage, wer gefragt hat. Soll sich eine Website trotzdem etwas merken, etwa die Anmeldung, braucht sie einen Speicher beim Nutzer. Die Fragen: Was ist ein Cookie, wer darf es lesen, und was ist rechtlich zu beachten?

So gehen wir vor:

  1. Was ein Cookie ist, wie es aussieht und wozu man es nutzt.
  2. Die Same Origin Policy: fünf Adressen im Test.
  3. Recht und Schutz: Einwilligung und Browser-Einstellungen.
  4. Eine Klausurfrage zum Thema.
Aus Skript 01, Folie 26: HTTP heißt Hypertext Transfer Protocol; definiert und weiterentwickelt vom W3C.

An zwei Stellen ist die Folie veraltet oder ungenau. Schritt 2 und Schritt 6 sagen, was heute gilt.

Daten im Browser

Skript · Was sind Cookies?
  • Speichern Daten für eine Web-Seite im Browser
  • Diese bleiben in der Regel auch nach dem Schließen des Browsers erhalten
  • Können von Server und Client gesetzt und gelesen werden
  • Alle Web-Programmiersprachen bieten dafür Funktionen
  • Vor Speicherung sollte Erlaubnis des Nutzers erfragt werden
  • Spezifiziert durch: RFC2965 (vorher: RFC2109)

Ein Cookie ist ein kleines Stück Text, das der Browser für eine Website speichert. Es besteht aus einem Namen und einem Wert. Bei jedem weiteren Aufruf dieser Website schickt der Browser es mit; so erkennt der Server den Nutzer wieder.

Setzen und lesen können es beide Seiten: der Server, der die Seite schickt, und JavaScript im Browser (der Client). Ein Cookie bleibt meist auch nach dem Schließen des Browsers erhalten, wenn ein Ablauf gesetzt ist (Schritt 2).

So sieht ein Cookie aus

document.cookie = 'sprache=de; max-age=31536000';document.cookie = 'farbe=dunkel';console.log(document.cookie);

Ausgabe:

sprache=de; farbe=dunkel

Ergänzung, nicht auf der Folie: In JavaScript heißt der Zugang document.cookie. Eine Zuweisung legt ein Cookie an, sie überschreibt die anderen nicht. Zeile 1 setzt sprache=de mit max-age=31536000: so viele Sekunden lebt das Cookie, also 365 · 24 · 3600 s = ein Jahr. Zeile 2 setzt farbe=dunkel ohne Angabe; dieses Cookie gilt nur bis zum Schließen des Browsers.

Lesen liefert alle Cookies der Seite in einem Text, getrennt durch Strichpunkte. Der Server setzt Cookies in seiner Antwort mit der Kopfzeile Set-Cookie; Skript 06 zeigt das in PHP.

Veraltet: RFC 2965 auf der Folie ist seit 2011 durch RFC 6265 ersetzt. Ein RFC (Request for Comments) ist ein Standard-Dokument fürs Internet.

Noch 9 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Abbildung 1Was Cookies sind

kleine Daten im Browser

NameWertWebsite
noch leer
Legendegerade gemeintDer Cookie-Speicher des Browsers, noch leer.