HTTP-Cookie
Wikipedia
http://de.wikipedia.org/wiki/Hauptseite
MediaWiki 1.7alpha
first-letter
Media
Spezial
Diskussion
Benutzer
Benutzer Diskussion
Wikipedia
Wikipedia Diskussion
Bild
Bild Diskussion
MediaWiki
MediaWiki Diskussion
Vorlage
Vorlage Diskussion
Hilfe
Hilfe Diskussion
Kategorie
Kategorie Diskussion
Portal
Portal Diskussion
HTTP-Cookie
18277
17925444
2006-06-16T11:18:30Z
141.26.94.51
Ein '''HTTP-Cookie''', auch Browser-Cookie genannt ([{{IPA|ˈkʊki}}]; engl., „Plätzchen“, „Keks“), bezeichnet Informationen, die ein [[Webserver]] zu einem [[Webbrowser|Browser]] ([[Cookie unterstützender Client]]) sendet oder die clientseitig durch Javascript erzeugt werden. Der Client sendet die Informationen in der Regel bei späteren Zugriffen an den selben Webserver im [[Hypertext Transfer Protocol]]-Header an den Server. Cookies sind clientseitig persistente Daten.
Cookies ermöglichen das clientseitige Speichern von Information, die auch vom Server stammen können und die bei weiteren Aufrufen für den Benutzer transparent an den Server übertragen werden. Dadurch erleichtern Cookies die Benutzung von Webseiten, die auf Benutzereinstellungen reagieren oder den Aufbau von [[Sitzung (Informatik)|Sessions]]. Dieses Konzept wurde ursprünglich von [[Netscape Communications Corporation|Netscape]] entwickelt und in RFC 2109 spezifiziert.
== Funktionsweise ==
Cookies werden in den [[Header]]-Teilen von [[HTTP]]-Anfragen und -Antworten übertragen.
Wenn der Webserver mit der HTTP-Response Cookie-Informationen zu einem Browser sendet, werden sie von diesem lokal auf dem Endgerät gespeichert, üblicherweise in einer [[Datei|Textdatei]]. Bei jedem HTTP-Request sucht der Browser nach Cookies, die von der selben Website (und Verzeichnis) stammen, und schickt diese Cookie-Daten im Header des HTTP-Requests mit.
Ein Cookie kann beliebigen Text enthalten, seine Länge sollte jedoch 4 KiB nicht überschreiten, um mit allen Browsern kompatibel zu bleiben. Mit jeder übermittelten Datei, also auch mit Bilddateien oder jedem anderen Dateityp, kann ein Server nur einen Cookie versenden, mit einer Anfrage des Browsers können gleichzeitig mehrere Cookies versandt werden.
Cookies werden ausschließlich vom Client verwaltet. Somit entscheidet der Client, ob z. B. ein Cookie gespeichert wird oder die vom Webserver gewünschte eingeschränkte Lebensdauer des Cookies durch Löschung ausgeführt wird.
Gängige Browser erlauben dem Nutzer meist einschränkende Einstellungen zum Umgang des Client mit Cookies, z. B.:
* Keine Cookies annehmen.
* Nur Cookies des Servers der aufgerufenen Seite annehmen.
* Benutzer bei jedem Cookie fragen.
* Alle Cookies eines Servers löschen, wenn kein Fenster mehr mit der Adresse dieses Webservers geöffnet ist.(Session-Cookie)
* Alle Cookies bei Beendigung des Client löschen.
Dazu erlauben einige Browser verwaltende Aktionen, wie:
* Daten im Cookie ansehen.
* Einzelne oder alle Cookies löschen.
Ob ein Cookie angenommen (clientseitig gespeichert)wurde, muss die serverseitige Anwendung in weiteren HTTP-Requests erkennen, da vom Client keine Rückmeldung erfolgt.
Der Server kann ein Cookie durch Überschreiben mit leeren Daten löschen.
== Verwendung ==
Eine typische Anwendung von Cookies ist das Speichern persönlicher Einstellungen auf Websites, zum Beispiel in Foren. Damit ist es möglich, diese Website zu besuchen, ohne jedes Mal die Einstellungen erneut vornehmen zu müssen.
Mit Cookies können auch Sessions realisiert werden. Dazu wird in einem Cookie vom Server eine eindeutige [[Session-ID]] gespeichert, um genau diesen Client bei weiteren Aufrufe wieder zu erkennen und damit nicht bei jedem Aufruf einer Unterseite das Passwort erneut eingegeben werden muss.
Auch [[Online-Shop]]s können Cookies verwenden, um sessionlose virtuelle Einkaufskörbe zu ermöglichen. Der Kunde kann damit Artikel in den Einkaufskorb legen und sich weiter auf der Website umschauen, um danach die Artikel zusammen online zu kaufen. Die Artikel-Kennungen werden in einem Cookie gespeichert und erst beim Bestellvorgang serverseitig ausgewertet.
== Gefahren ==
Die eindeutige Erkennung kann für Zwecke eingesetzt werden, die von vielen Benutzern als missbräuchlich angesehen werden. Cookies werden z.B. dafür verwendet, Benutzerprofile über das Surfverhalten eines Benutzers zu erstellen. Ein Online-Shop kann z. B. diese Daten mit dem Namen des Kunden verknüpfen und zielgruppenorientierte Werbemails schicken. Außerdem kann der Online-Shop nur das Surfverhalten innerhalb seiner eigenen Webseite verfolgen.
Server, die Werbebanner für viele Websites liefern, können so genannte „serverfremde“ Cookies setzen. Gegebenenfalls kann so der Besuch unterschiedlicher Websites einem Benutzer zugeordnet werden. Daraus kann auf die Interessen des Besuchers geschlossen und Websites entsprechend angepasst („personalisiert“) werden. Im schlimmsten Fall können die Daten z. B. bei der Bestellung in einem Webshop einer konkreten Person zugeordnet werden. Verhindert werden kann dieser Missbrauch durch eine entsprechende Browser-Einstellung, damit nur Cookies des Servers der aufgerufenen Seite angenommen werden.
In Umgebungen, in denen mehrere Nutzer den selben Rechner teilen, etwa in Schulen, besteht gegebenenfalls die Gefahr, dass ein noch gültiger Session-Cookie vom nächsten Nutzer des Rechners verwendet wird, um diese Session fortzusetzen. Dieses Risiko kann verhindert werden, indem man grundsätzlich alle Cookies vor dem Beenden des Browsers löscht oder eine entsprechende Browser-Einstellung nutzt.
== Erlauben oder Sperren? ==
Ein Kompromiss zwischen den Vor- und Nachteilen von Cookies kann erzielt werden, indem man seinen Browser so konfiguriert, dass [[Persistenz (Informatik)|persistente]] Cookies nicht oder nur gegen Rückfrage zugelassen werden, was z. B. die Erstellung von Benutzerprofilen erschwert, und Session-Cookies automatisch zugelassen werden, z. B. für Webeinkäufe, Passwörter. Außerdem bieten die meisten Browser die Möglichkeit, Cookies selektiv für bestimmte [[Domäne (Internet)|Domäne]]n zu erlauben bzw. zu sperren oder nach dem Surfen automatisch zu löschen, wie es automatisch bei Session-Cookies geschieht. Auch ist es möglich, serverfremde Cookies automatisch abzuweisen, über die ein Dritter, etwa ein Werbepartner der Internet-Seite, das eigene Verhalten über mehrere Server hinweg aufzeichnen könnte.
== Aufbau ==
Ein Cookie besteht aus einem Namen und einem Wert sowie mehreren benötigten oder optionalen Attributen mit oder ohne Wert. Einige Attribute sowie deren Einschließen in Hochkommas werden empfohlen.
Name
:Beliebiger Name und Wert aus [[ASCII]]-Zeichen die vom Server übergeben werden
Version
:Gibt die Cookie-Management-Spezifikation in einer Dezimalzahl an.
Expires
:Ablaufdatum, Zeitpunkt der automatischen Löschung in [[Greenwich Mean Time|GMT]] für HTTP/1.0
Max-age
:Ablaufzeit in Sekunden - 0 für Löschung - bei HTTP/1.1
Domain
:[[Domain]] oder Bestandteil des Domainnamens, für den der Cookie gilt
Path
:Gültigkeits-Pfad (Teil der Anfrage-[[URI]]), um die Gültigkeit des Cookies auf einen bestimmten Pfad zu beschränken
Port
:Beschränkung des Ports auf den aktuell verwendeten oder auf eine Liste von Ports
Comment
:Kommentar zur näheren Beschreibung des Cookies
CommentURL
:URL unter welcher eine Beschreibung zur Funktionsweise zu finden ist
Secure
:Rücksendung des Cookie über eine mindestens ebenso sichere Verbindung - ohne zugehörigen Wert.
Discard
:Unbedingt Löschung des Cookies bei Beendigung des User-Agents
=== Funktionsweise - ein Beispiel ===
Cookies werden durch den [[Webserver]] im HTTP-Header mit der Angabe Set-Cookie: bearbeitet. Der Cookie fängt mit dem Namen und den zu speichernden Daten an und kann danach mehrere Angaben zur Verwendung beinhalten:
Set-Cookie: letzteSuche="cookie aufbau"; expires=Tue, 29-Mar-2005 19:30:42 GMT; Max-Age=2592000; Path=/cgi/suche.py; Version="1";
Mit dieser Headerzeile sendet der Webserver einen Cookie mit dem Namen letzteSuche und dem Wert cookie aufbau an den Browser. Der Cookie soll am 29. März 2005 oder in 30 Tagen (2592000 = 30*24*60*60 Sekunden) gelöscht werden. Der Browser sollte ihn nur mit Anfragen zurückschicken, deren Pfad mit /cgi/suche.py anfängt und an diesem Server gerichtet sind.
Der [[Client]] schickt Cookies durch die Angabe von Cookie:, dem Namen und Wert sowie mit den jeweiligen Attributen mit vorangestelltem "$":
Cookie: letzteSuche="cookie aufbau"; $Path=/cgi/suche.py; $Version="1";
=== Browseranforderungen ===
Nach RFC 2965 soll ein Browser Folgendes unterstützen:
*Es sollen insgesamt mindestens 300 Cookies gespeichert werden können.
*Es sollen pro [[Domain]] mindestens 20 Cookies gespeichert werden können.
*Ein Cookie soll mindestens 4096 Bytes enthalten können.
Manche Browser können mehr Cookies und/oder auch Cookies mit längeren Zeichenketteninhalten verarbeiten, garantiert ist dies aber nicht.
Andersherum halten sich auch nicht alle Browser an alle Anforderungen, als Webdesigner sollte man sich also auch bei Unterschreitung der Anforderungen nicht auf der sicheren Seite wähnen.
==Siehe auch==
*[[Cookie]]
*[[HTTP]]
*[[Logfile-Analyse]]
*RFC 2965 HTTP State Management Mechanism – Festlegung des Cookiesstandards
*RFC 2109 HTTP State Management Mechanism – Veralteter Cookiestandard
*[http://de.php.net/manual/de/function.setcookie.php Cookie per PHP setzen]
== Weblinks ==
*[http://www.cookiecentral.com/c_concept.htm www.cookiecentral.com] - umfangreiche Seite über Cookies (englisch)
*[http://www.web-analytics.org/index.php/webanalyse-artikel/C9/ www.web-analytics.org] - Einsatz von Cookies im Marketing.
[[Kategorie:World Wide Web]]
[[Kategorie:Datenschutz]]
[[cs:HTTP cookie]]
[[da:Cookie]]
[[en:HTTP cookie]]
[[eo:Kuketo]]
[[ja:クッキー]]
[[th:คุกกี้ (อินเทอร์เน็ต)]]
[[fr:Cookie]]
[[it:Cookie]]
[[nl:Cookie (Internet)]]
[[pl:Cookie]]
Diese Version des Artikels stammt vom 27.06.2006.
Der Inhalt dieser Seite basiert auf dem Artikel
„HTTP-Cookie“ aus der freien Enzyklop�die
Wikipedia und ist unter der
GNU-Lizenz f�r freie Dokumentation ver�ffentlicht. Auf der Wikipedia-Seite ist eine
Liste der Autoren einzusehen.