Was sind Cookies?

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.

Eine HTTP-Anfrage an https://cats.example/cat.jpg

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.

Eine HTTP-Antwort von https://cats.example/cat.jpg mit dem Header „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.

Das Cookie „cat=tabby“ in einem Webbrowser auf einem Laptop.

4. Browser stellt zusätzliche Anfragen

Von nun an fügt Ihr Browser Anfragen an cats.example den Header Cookie: cat=tabby hinzu.

Eine HTTP-Anfrage an https://cats.example/cat.jpg mit dem Header „Cookie: cat=tabby“

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:

  1. Ihr Browser sendet eine Anfrage für eine Datei an den Server einer Website.
  2. Der Server kann einen Header wie Set-Cookie: cat=tabby zusammen mit der Datei einfügen, die er als Antwort auf die Anfrage sendet.
  3. Wenn Ihr Browser die Antwort empfängt, wird das Cookie gespeichert.
  4. Bei jeder nachfolgenden Anfrage sendet Ihr Browser das Cookie in einem Cookie: cat=tabby-Header an den Server.


Sequenzdiagramm mit Anfragen und Antworten zwischen einem Webbrowser, cats.example und cats.example, das zeigt, wie Cookies gesetzt und gesendet werden.

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.

Demo ausprobieren

Weitere Informationen

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