Das Web ist so konzipiert, dass jede Anfrage eines Webbrowsers an eine Website separat erfolgt. Das Web hat von Natur aus kein „Gedächtnis“. Jedes Mal, wenn Sie eine Webseite öffnen, kann sich die besuchte Website nicht an Informationen aus Ihrer letzten Sitzung erinnern. Das Web wird dadurch effizienter, da kein Mechanismus zum Erfassen von Anfragen und Antworten erforderlich ist.
Die Vergesslichkeit des Internets ist aber auch ein Problem. Wie soll beispielsweise ein Einkaufswagen funktionieren, wenn sich die Website, auf der Sie sich befinden, nicht daran erinnern kann, was Sie gerade hineingelegt haben?
Cookies wurden erfunden, um dieses Problem zu lösen.
Cookies geben Websites ein Gedächtnis
Wenn Sie eine Seite auf einer Website aufrufen, sendet Ihr Webbrowser Anfragen an den Server der Website für die auf der Seite enthaltenen Ressourcen, z. B. HTML, CSS, JavaScript oder Bilder.
Webbrowser und Websites interagieren über das HTTP-Protokoll. Das ist ein standardisiertes Regelwerk für die Kommunikation.
Als Antwort auf eine HTTP-Anfrage für eine Ressource kann der Website-Server zusammen mit der Ressource selbst zusätzliche Informationen, sogenannte Header, senden. Ein Set-Cookie
-Header, der in einer HTTP-Antwort enthalten ist, weist Ihren Browser an, einen Text zu speichern: einen Namen und einen Wert. Dies wird als Cookie bezeichnet. Der Antwortheader Set-Cookie: cat=tabby
weist Ihren Browser beispielsweise an, ein Cookie mit dem Namen „cat“ und dem Wert „tabby“ zu speichern.
Sobald dieses Cookie gesetzt ist, enthalten nachfolgende Anfragen Ihres Browsers an die Website den Header Cookie: cat=tabby
. Der Server der Website kann über den Anfrageheader auf das Cookie zugreifen und den Wert verwenden.
So funktionieren Cookies: Schritt-für-Schritt-Anleitung
Stellen Sie sich vor, Sie besuchen die Website cats.example
. Die Website möchte Ihnen ein zufälliges Katzenbild anzeigen und aufzeichnen, welche Katze Ihnen angezeigt wurde.
In den folgenden Schritten wird erläutert, wie das mit Cookies funktioniert.
1. Browser fordert eine Datei an
Sie rufen die Startseite der Website cats.example
auf.
Nachdem Ihr Browser den HTML-Code der Startseite verarbeitet hat, fordert er die Dateien auf der Seite an, einschließlich cat.jpg
von cats.example
.
2. Der Website-Server antwortet
Der Server unter cats.example
antwortet mit der Bilddatei cat.jpg
.
Der Server fügt der Antwort einen Header hinzu: Set-Cookie: cat=tabby
.
3. Browser empfängt Antwort
Ihr Browser empfängt die Bilddatei und verarbeitet den darin enthaltenen Set-Cookie: cat=tabby
-Header.
Ein Cookie wird gespeichert: Name cat
, Wert tabby
.
4. Browser stellt zusätzliche Anfragen
Von nun an fügt Ihr Browser Anfragen an cats.example
den Header Cookie: cat=tabby
hinzu.
Wenn der cats.example
-Webserver eine Anfrage erhält, kann er das Cookie verarbeiten und mit dem Wert tun, was er möchte, z. B. dafür sorgen, dass Sie nicht noch einmal ein Bild derselben getigerten Katze erhalten.
So funktioniert der Cookie-Prozess:
- Ihr Browser sendet eine Anfrage für eine Datei an den Server einer Website.
- Der Server kann einen Header wie
Set-Cookie: cat=tabby
zusammen mit der Datei einfügen, die er als Antwort auf die Anfrage sendet. - Wenn Ihr Browser die Antwort empfängt, wird das Cookie gespeichert.
- Bei jeder nachfolgenden Anfrage sendet Ihr Browser das Cookie in einem
Cookie: cat=tabby
-Header an den Server.
Auf Cookies mit JavaScript zugreifen
Im vorherigen Beispiel wird der Antwortheader Set-Cookie
verwendet, um ein Cookie festzulegen.
Cookies können auch mit JavaScript über die Methode document.cookie
erstellt werden.
Warum benötigen wir Cookies?
1994 arbeitete der Ingenieur Lou Montulli bei dem Softwareunternehmen Netscape, das den beliebtesten Webbrowser der Mitte der 1990er-Jahre entwickelte.
Unterdessen versuchte das Telekommunikationsunternehmen MCI, einen Einkaufswagen für einen der weltweit ersten Onlineshops zu entwickeln. MCI setzte sich mit Montulli in Verbindung, um das Problem zu erläutern. Montulli reagierte darauf, indem er HTTP eine Funktion hinzufügte, mit der eine Website eine kleine Menge Text im Webbrowser eines Nutzers speichern konnte, einen Namen und einen Wert: etwa cart-id=123
. Er nannte es „Cookie“, da Programmierer damals das Wort „Magic Cookie“ für kleine zusätzliche Informationen verwendeten, die in die Datenkommunikation eingebunden wurden.
Montulli schloss seine Arbeit an HTTP-Cookies in weniger als einer Woche ab. Er ahnte nicht, dass Cookies für Werbung, Log-in, Zahlungen, Betrugserkennung und andere wichtige Funktionen der Webplattform von grundlegender Bedeutung sein würden. Cookies sind eine scheinbar einfache Technologie, die weitreichende Nebenwirkungen hat.
Verwendungszwecke von Cookies
Cookies ermöglichen es dem Browser, eine kleine Menge an Informationen über den Nutzer zu speichern, um sich etwas über mehrere Anfragen hinweg zu „merken“. Cookies haben mehrere Verwendungszwecke:
- Sitzungsverwaltung
Ermöglicht einer Website, einen Nutzer zu erkennen, z. B. um den Anmeldestatus auf verschiedenen Seiten beizubehalten. - Personalisierung
Speichern von Nutzereinstellungen wie Sprache, Design oder zuletzt angesehene Artikel, um die Website zu personalisieren. - Tracking
Bisher wurden Cookies verwendet, um das Nutzerverhalten auf Websites zu erfassen, um gezielte Werbung zu schalten und für andere Anwendungsfälle.
Cookies werden hauptsächlich für Kennungen verwendet und nicht zum direkten Speichern von Informationen.
Ein Cookie für Ihren Einkaufswagen in einem Online-Tiergeschäft enthält beispielsweise keine Produkte, sondern eine Konto-ID, mit der das Tiergeschäft in seinem serverseitigen Datenspeicher nachsehen kann, was sich in Ihrem Einkaufswagen befindet.
Eine Anfrage an den Server des Zoofachgeschäfts könnte einen Cookie-Header wie diesen enthalten:
Cookie: _cart=CART1.2.34567890.123456789
Der Server kann dann das _cart
-Konto in seinem Datenspeicher nachschlagen und andere Informationen zur Anfrage einfügen.
Weitere Informationen
- Cookie-Attribute
- Was sind Drittanbieter-Cookies?
- HTTP-Anfrage und -Antwort
- Cookie-Tools
- Cookie-Demos
- HTTP-Cookies verwenden
- The Magic Cookie: How Lou Montulli cured the Web's amnesia
- HTTP-Cookies (die ursprüngliche Spezifikation)
- HTTP-Cookies oder wie man keine Protokolle entwirft