Das inoffizielle Cookie-FAQ

Version 2.6

Ursprünglicher Text in englischer Sprache auf www.cookiecentral.com/faq/ von David Whalen
übersetzt am 18.03.2013 von Michael Lederstatter


Hinweis des Autors

(Version 2.6)
Nach einem langen Tag kehre ich zu den FAQs zurück. Viele der Informationen waren seit einiger Zeit nicht mehr aktuell und so hatte ich das Gefühl, ich sollte uns zumindest wieder auf den aktuellsten Stand bringen.

Ich bemerkte eine wachsende Anzahl von Websites dort draußen, die einen Teil meiner FAQs oder das Gesamtwert kopiert haben. Obwohl ich über diese klare Verletzung von Urheberrecht verärgert sein sollte, entschied ich mich verständnisvoll zu bleiben und fühle mich ein wenig geschmeichelt. Ehrlich Leute, ihr könntet zumindest erwähnen, dass es meine Arbeit ist, wisst ihr? Oder ihr könntet zumindest zur Cookie Central zurück verlinken, die den Server zum Abruf dieser FAQ kostenlos zur Verfügung stellt.

I have noticed a growing number of sites out there that have copied all or part of my FAQ. While I should be angered at what is clearly a violation of copyright, I'll choose to be understanding and a little flattered. Honestly, people, you could at least mention that it's my work, you know. Or, you could at least link back to Cookie Central, who provides space for the FAQ free of charge.

Es sind solche Dinge und das schwindende Interesse am Cookie-Thema (wozu ich glaube meinen Teil beigetragen zu haben), die mich dazu bringen zu glauben, dass das meine letzte Aktualisierung der FAQs hier sein wird. Ich hätte es vor einem Jahr schon fast gelöscht, aber die Betreiber der Cookie Central haben sich durchgesetzt und mich überzeug, es am Leben zu erhalten.

Im November 1996 schrieb ich den allerersten Entwurf der Cookie FAQs. Es war ein kurzer Aufsatz, der damit endete, dass er auf der JavaScript Newsgroup von Netscape gepostet wurde. Die FAQs führten direkt zu meiner Verbindung mit Netscape und so wurde ich der JavaScript DevEdge Champion und hielt eine Präsentation über Cookies auf der DevCon. Ein wahrer Höhepunkt in meiner Karriere.

In den letzten fünfeinhalb Jahren konnte ich sehen, wie sich Cookies von einem Grünschnabelkonzept zum wichtigsten Teil des Interneterlebnisses mauserten. Cookies brachten die Personalisierung, Handel und Komfort ins Internet und legitimierten es dadurch als einen Ort des Business, nicht nur für die Wissenschaft oder private Homepages.

Ich habe gleichzeitig gesehen, wie die FAQs über die Zeit hinweg anwuchsen. Der erste Entwurf dieser FAQs zielte auf Entwickler ab, die versuchten zu verstehen, was Cookies sind und wie sie diese einsetzten können. Heutzutage sehe ich meine Beispiele überall im Internet in Benutzung. Aber die FAQs diene besser dazu, Otto Normalverbraucher über Cookies zu informieren und wie sie wirklich funktionieren. Ich hoffe, ich habe meinen Teil dazu beigetragen, dass sich die Hysterie darum gelegt hat.

Und so sage ich den FAQs "leb wohl". Danke an alle von euch, die in der Vergangenheit mit ihren Ideen, Rückmeldungen, Fragen und Beschwerden dazu beigetragen haben. Ihr alle habt etwas bewirkt!

Und danke für's hier sein!

-- DW

[Zurück nach oben]


1. EINLEITUNG

Cookies sind eine sehr wichtige Methode, um einen Status im Web zu klären. "Status" bezieht sich in diesem Fall auf die Fähigkeit einer Anwendung, mit einem Benutzer interaktiv zu arbeiten, sich an all die Daten zu erinnern, seit die Anwendung startete und zwischen Benutzern und deren individuellen Datensätzen zu unterscheiden.

Eine Analogie, die ich gerne benutze, ist eine Wäschereinigung. Du gibst etwas ab und erhältst ein Ticket. Wenn Du mit dem Ticket zurückkehrst, erhältst Du Deine Wäsche wieder. Wenn Du kein Ticket hast, weiß der Angestellte in der Reinigung nicht, welche Wäsche Dir gehört. Tatsächlich kann er nicht mal sagen, ob Du da bist, um Deine Wäsche abzuholen, oder ob Du ein brandneuer Kunde bist. Daher ist das Ticket entscheidend, um den "Status" zwischen Dir und dem Reinigungsangestellten zu klären.

Unglücklicherweise ist HTTP ein statusloses Protokoll. Das bedeutet, dass jeder Besuch einer Website (oder sogar Klicks innerhalb der gleichen Website) vom Server als der erste Besuch eines Benutzers angesehen wird. Essentiell gesagt "vergißt" der Server alles nach jedem Request (das ist eine Anftrage nach Daten), es sei denn, er kann den Benutzer irgendwie markieren (also ihm ein Reinigungsticket in die Hand drücken), um sich beim Erinnern zu helfen. Cookies können das leisten.

1.1 Was ist ein Cookie?

Ein Cookie ist eine Nur-Text-Zeichenfolge, die im Speicher des Browsers abgelegt wird. Das ist der Wert einer Variable, die eine Website setzt. Wenn die eingestellte Lebensspanne dieses Wertes länger ist, als Du Dich auf der Website aufhältst, dann wird die Zeichenfolge für eine zukünftige Wiedererkennung in einer Datei gespeichert.

1.2 Woher stammt die Bezeichnung "Cookie"?

Laut einem Artikel, den Paul Bonner für Builder.Com am 18.11.1997 geschrieben hat:

"Lou Montulli, derzeit der Protokollmanager bei der Kundenproduktionsabteilung von Netscape, schrieb die Cookie Spezifikationen für Navigator 1.0, den ersten Browser, der die Technologie nutzte. Montulli sagt, es gibt nichts besonders amüsantes über den Ursprung des Namens: 'Ein Cookie ist ein bereits seit langem bekannter Computerausdruck, der benutzt wird, wenn ein unklares Stück Daten von einem Mittler gehalten wird. Der Terminus trifft die Benutzung präzise; er ist nur außerhalb von Computerwissenschaftskreisen nicht sehr geläufig.'"

1.3 Warum benutzen Websites Cookies?

Es gibt viele Gründe, warum eine bestimmte Website Cookies benutzen möchte. Diese reichen von der Fähigkeit, Informationen zu personalisieren (wie auf "mein Yahoo" oder Excite) oder um beim Onlineverkauf zu unterstützen (wie auf Amazon oder eBay), oder einfach zum Zweck demografische Informationen zu sammen (wie von DoubleClick). Cookies bieten Programmierern eine schnelle und einfache Methode, die Inhalte einer Website frisch und relevant für die Interessen des jeweiligen Benutzers zu halten. Die neuesten Server benutzen Cookies, um bei der Backend-Interaktion zu helfen, was die Bedienbarkeit einer Website verbessern kann, indem sie fähig ist auf sichere Art und Weise jede persönliche Information zu speichern, die der Benutzer selbst mit dieser Website geteilt hat (um beispielsweise ein schnelles Anmelden / Login auf Lieblingswebsites zu ermöglichen).

1.4 Wo finde ich mehr Informationen?

Cookie Central ist dem Ziel gewidmet, Fragen über Cookies zu beantworten. Sieh Dich gerne dort um.

Es gibt einen tollen Artikel (in englischer Sprache) auf Marshall Brain's "How Stuff Works" (zu deutsch: "Wie Zeug funktioniert", Anmerk. d. Übersetzers). Dieser geht sogar noch tiefer, als diese FAQs, besonders im Reich der öffentlichen Meinung. Ist einen Besuch wert!

Das World Wide Web Consortium hat exzellente FAQs, die die Mehrheit aller Internet- und Web-bezogenen Fragen beantwortet. Du kannst deren Thema "Do 'Cookies' Pose any Security Risks?" lesen. (zu deutsch: "Stellen 'Cookies' irgendein Sicherheitsrisiko dar", Anmerk. d. Übersetzers)

Zusätzlich gibt es eine Fülle von Ressourcen im Internet, die Dir dabei helfen können, Antworten auf Deine Cookiefragen zu finden. Yahoo hat eine großartige Liste in Bezug darauf. Ich empfehle Dir, diese einmal anzusehen!

[Zurück nach oben]




2. ALLGEMEINE FRAGEN/VERSCHIEDENES

2.1 Einleitung

Dieser Abschnitt widmet sich allgemeinen Fragen über Cookies und ihre Verwendung.

2.2 Kann ich Cookies löschen?

Ja, ob Du Internet Explorer oder Netscape (Anmerk. d. Übersetzers: oder jeden anderen größeren, aktuellen Browser Wie Chrome, Firefox, Safari oder Opera) verwendest, immer werden Deine Cookies als einfache Textdatei gespeichert, die Du löschen kannst, wie Du möchtest.
Yes. Whether you use Internet Explorer or Netscape, your cookies are saved to a simple text file that you can delete as you please.

Um das richtig zu machen, denke daran, Deinen Browser zuerst zu beenden. Der Grund ist, weil all die Cookies im Speicher Deines PCs sind, bis Du Deinen Broser schließt. Wenn Du also die Cookiedateien löscht, während Dein Browser noch läuft, wird eine neue Datei geschrieben, sobald Du ihn schließt und Deine Cookies werden wieder da sein.

Denke daran, dass Deine Cookiedateien zu löschen, Dich auf jeder Website die Du normalerweise besuchst, komplett als Neuling erscheinen lassen wird. Es ist also unter Umständen wünschenswert für Dich, die cookies.txt Datei zu öffnen (falls Du Netscape verwendest) und nur die unerwünschten Einträge zu entfernen oder - falls Du Internet Explorer verwendest - die einzelnen unerwünschten Dateien im Cookies Dateiordner zu löschen.

2.3 Wie stelle ich meinen Browser so ein, dass er Cookies zurückweist?

Sowohl Internet Explorer, als auch Netscape (und andere, aktuelle Browser - Anmerk. d. Übersetzers) ermöglichen einen gewissen Grad der Cookieüberprüfung. Sie alle haben Menüpunkte, die Dir erlauben, alle, einige oder keine der eingehenden Cookies zu akzeptieren. Zudem gibt es noch Funktionen die "warnen, vor dem Akzeptieren", wenn Du Deine eingehenden Cookies begutachten möchtest.

In Netscape findest Du die Einstellungen unter dem Menü Edit/Preferences/Advanced (zu deutsch: Editieren / Voreinstellungen / Fortgeschritten). Deine Cookieeinstellungen können dort geändert werden.

Microsoft hat seinen Ansatz gegenüber Cookies über die letzten 3 Versionen ihres Browsers hinweg geändert.

Both Internet Explorer and Netscape allow some level of cookie verification. They both have menu options that allow you to accept all, some, or none of your incoming cookies. In addition, the "warn before accepting" feature is present in both, if you want to screen your incoming cookies.

In Netscape, go to the Edit/Preferences/Advanced menu. Your cookie choices can be changed there. Das spiegelt wieder, wie Cookies ins Rampenlicht der Privatsphäre im Internet geschoben wurden.

  • In IE 6.0 öffnest Du das Menü Tools/Internet Options/Privacy (Werkzeuge/Internet Optionen/Privatspähre - Anmerk. d. Übersetzers). Dieses Menü ermöglicht Dir, wie sehr der Browser beim Annehmen von Cookies unterscheiden soll, basierend auf zwei Faktoren -- (1) der Quelle des Cookies, und (2) ob die Quelle eine "Datenschutzrichtlinie" hat. Es gibt auch Funktionen für fortgeschrittene Benutzer, wenn Du eine größere Kontrolle über Cookies haben möchtest. [weitere Infos (in englischer Sprache)]
  • Anmerkung des Übersetzers: da die als nächstes beschriebenen Browser IE4 und noch früher bereits seit ca. 10 Jahren nicht mehr aktuell sind, wird auf die Ausführungen verzichtet und auf das Beispiel oben verwiesen. Die heute aktuellen Browser bieten im Prinzip die gleichen Funktionen, wenngleich sich auch die Menübezeichnungen unterscheiden mögen.
Sobald ein Cookie zurückgewiesen wird, wird es rausgeworfen und nicht in den Speicher oder auf der Festplatte geschrieben. Vergiß jedoch nicht, dass - selbst wenn Du es gelöscht haben solltest - Server weiterhin nach dem Cookie sehen werden und es gegebenenfalls zu ersetzen versuchen, während Du herum surfst.

Diese Tatsache ist witzig: Wenn Du die Methode blockierst, damit der Server Dir keine Cookies mehr senden kann, wird er sich nicht erinnern können, Dir das nächste mal keins mehr zu senden!

2.4 Sind Cookies gefährlich für meinen PC?

NEIN. Ein Cookie ist ein einfacher Text. Es ist kein Programm oder keine Plug-In Erweiterung. Es kann nicht als Virus verwendet werden und kann nicht auf Deine Festlplatte zugreifen. Dein Browser (nicht ein Programmierer) kann Cookiewerte auf Deiner Festplatte speichern, wenn es nötig ist, aber das ist auch schon das Limit des Effektes auf Dein System.

2.5 Werden Cookies meine Festplatte überfüllen?

Sowohl Netscape, als auch Microsoft haben Maßnahmen, die die Anzahl der Cookies begrenzen, die auf Deiner Festplatte gespeichert werden.

Beide Browser erfüllen die Richtlinie der RFC 2109 Begrenzung, die eine maximale Cookieanzahl von 300 gestattet (das beinhaltet ein Limit von 20 Cookies pro einzelne Domain). Wenn Du das überschreitest, wird der Browser die am wenigsten genutzten Cookies löschen, um Platz für neue zu schaffen.

Microsoft speichert Cookies in den Dateiordner "Temporäre Internetdateien", einem Systemordnern, bei dem Du eine maximale Größe einstellen kannst (der Standardwert sind 2% Deiner Festplattengröße).

Denke daran, dass in jedem Fall Cookie Dateien eine winzige Dateigröße von 4kB oder kleiner haben, also würdest Du eine Million Cookies brauchen, um eine 4GB Festplatte zu füllen. Das ist extrem unwahrscheinlich.

2.6 Sind Cookies eine Bedrohung für meine Privatsphäre?

Die traurige Wahrheit ist, dass jede Art von enthüllter persönlicher Information die Tür dafür öffnet, dass diese Information verteilt wird.

Bedenke den wachsenden Trend von Technologien und Bequemlichkeit in unserem Leben. Wir benutzen "Häufige-Käufer" Karten in Supermärkten und Tankstellen. Fahrzeuge werden elektronisch markiert, um Autobahngebühren und Maut einfach und schnell abzurechnen. Wir lassen Banken unsere Rechnungen auf Monatsbasis vollautomatisch für uns bezahlen.

Obwohl jede dieser Technologien (und andere in der Art) unser Leben bequemer gemacht haben, verlieren wir auch immer wieder ein Stückchen Privatspähre bei jeder Benutzung. Händler wissen, welche Lebensmittel Du ißt. Tankstellen wissen, wieviel Du pro Tankfüllung ausgibst. Autobahngesellschaften wissen, wie schnell Du auf Ihren Routen fährst. Banken wissen, für was Du jeden Monat Dein Geld ausgibst.

Das selbe ist es mit Cookies. Tatsächlich könnte man argumentieren, dass Cookies langfristig gesehen weniger schädlich für Deine Privatsphäre sind, als die oben genannten Technologien. Wenn Du Cookies für Deine einzige Schwachstelle in Deiner Privatsphäre hältst, solltest Du Dir nochmal ansehen, wie Du Dein tägliches Leben ansonsten lebst.

Die nie-enden-wollende ethische Debatte, die mit diesen Tatsachen verbunden ist, soll anderen Foren vorbehalten bleiben. Es ist jedoch klug, die Informationen, die Du über das Internet ansammelst und teilst, vorsichtig zu bedenken.

2.7 Webseiten sagen mir, ich soll Cookies aktiveren, aber sie sind an! Was ist da los?

Es gibt drei wahrscheinliche Möglichkeiten für solche Probleme: Erstens erkennt die Website, die Du besuchst unter Umständen Cookies nicht korrekt. So kann es für die betreffende Website so aussehen, als wenn Du Cookies zurückweist, obwohl das gar nicht der Fall ist.

Eine weitere Möglichkeit ist, dass Du Software betreibst, die mit Cookie-Benutzung Schwierigkeiten macht. Es gibt heutzutage für Internetbenutzer viele Filter- und Blockierprogramme und viele davon filtern auch Cookies. Wenn Du so eine Software laufen hast, dann kann es sein, dass Dein Computer keine Cookies sendet oder empfängt. Das bringt Webseiten, die Du besuchst, dazu zu glauben, dass Du keine Cookies annimmst.

Die letzte Möglichkeit könnte sein, dass Dein Rechner sich hinter einer Firewall oder einem Proxyserver befindet, was die Cookieübermittlung verhindert. Das ist in Unternehmensumgebungen hochwahrscheinlich. In dem Fall wird Dein Browser keine Cookies senden oder empfangen, unabhängig davon, wie er eingestellt ist. Da die Cookies erst gar nicht bis zu Deinem Rechner durchkommen, wird die Website, die Du besuchst, annehmen, dass Dein Browser sie zurückweist.

2.8 Ich habe meine Cookies gelöscht und kann mich nun nicht mehr an meiner Lieblingswebseite anmelden. Was kann ich tun?

Viele Webseiten benutzen ein Cookie, um die Einstellungen auf deren Servern zu verfolgen und um Dir dabei zu helfen, Dich auf ihrer Website einzuloggen. Wenn Du das Cookie verlierst oder löscht, cann die betreffende Website sich nicht erinnern, welche Einstellungen sie für Dich benutzen soll.

Wenn Dir das passiert, ist es das beste, wenn Du den Betreiber der Website oder den Kundenservice kontaktierst.

2.9 Wie habe ich ein Cookie von Doubleclick erhalten? Ich war nie auf deren Website!

In Punkt 3.3 werden wir noch sehen, dass ein Server kein Cookie für eine Domain setzen kann, deren Mitglied er nicht ist. Trotzdem hat so gut wie jeder Internetbenutzer das eine oder andere mal Cookies von "ad.doubleclick.net" erhalten, ohne deren Website je zu benutzen. DoubleClick und andere Werbenetzwerke haben eine clevere Lösung im Einsatz, mit der sie Benutzer verfolgen und Medieninhalte anzeigen können, ohne diese Richtlinie zu verletzen.

Die meisten Webseiten im Internet speichern ihre Werbeinhalte (z.B. Banner, Anmerk. d. Übersetzers) nicht lokal. Es ist eher üblich, einem Mediendienst beizutreten, der die Anzeigen für den Webseitenbetreiber schaltet. Das wird durch einen einfachen HTML-Aufruf an den Mediendienst erreicht. Wenn eine Webseite aufgerufen wird, wird sie durch eine Vielzahl von HTTP-Anfragen vom Browser zusammengesetzt. Zuerst gibt es eine Anfrage nach den HTML-Inhalten selbst. Danach erfolgen alle anderen Anfragen für Inhalte, die die HTML-Datei benötigt, wie Bilder, Sounds und Plugins.

Der Aufruf zum Mediendienst so eines Werbenetzwerkes wie Doubleclick ist eine HTTP Anfrage für ein Bild. Sobald die Anfrage an den Medienservice einmal abgeschickt ist, kann sie mehr zurück liefern, als nur einen Banner. Sie kann nun auch zusätzlich ein Cookie zurück liefern. Oder - falls der Benutzer bereits von einem früheren Besuch ein Cookie hat - kann es dieses auslesen und dann entscheiden, welchen Banner dieser Benutzer geschickt bekommen soll. Das Resultat ist jedenfalls, dass der Benutzer ein Cookie von diesem Mediendienst erhält, obwohl der deren Website niemals besucht hat.

Diese Art der Cookiebenutzung ist die umstrittenste und führte zu polarisierten Meinungen über Cookies, Privatsphäre und das Internet.

2.10 Ich habe meine Internet Explorer Cookies angesehen und sie hatten meinen Benutzernamen in sich. Können Server meinen Benutzernamen sehen?

Da Windows Systeme mehr Benutzern als nur einem erlauben, sich einzuloggen und Programme zu nutzen, musste Microsoft sich eine Methode einfallen lassen, um die Cookies eines jeden Benutzers auf einem Rechner getrennt zu halten. Das ist beispielsweise an Arbeitsplätzen üblich, wo ein einziger Rechner von verschiedenen Angestellten verwendet wird.

Um das zu erreichen, wird der Benutzername an den Dateinamen des Cookies angehängt. Auf diese Weise, können Hans Müller und Lisa Meier beide Cookies von www.coolsite.com erhalten, ohne dass sie gegenseitig überschrieben werden. Das verhindert außerden, dass Lisa die Cookies von Hans beim Surfen verwendet, weil der Browser nur ihre Cookies benutzen wird, wenn sie eingeloogt ist. Das bedeutet, die Cookiedatei:

hansmueller@www.coolsite.txt

Beinhaltet Hans Müller's Cookie für www.coolsite.com. Wenn jemand anderer sich einloggt, wird dieses Cookie nicht genutzt.

Das ist der einzige Grund, warum der Benutzername Teils des Cookiedateinamens ist. Der Benutzername wird NICHT mit den Cookiedaten zum Server geschickt.

2.11 In meinem Cookiesordner sind zwei weitere Dateien namens Mm256.dat und Mm2048.dat. Was machen sie?

Du kannst mehr darüber in Microsoft's Knowledge Base lesen (in englischer Sprache, Anmerk. d. Übersetzers).

[Zurück nach oben]




3. COOKIE GRUNDWISSEN

3.1 Einleitung

Ob Du ein Programmierer bist, oder einfach ein Webbenutzer, der nach Antworten sucht, ein großer Teil der Verständnisses über Cookies entsteht, wenn Du in die tieferen Details eintauchst. Dieser Abschnitt macht genau das.

3.2 Wie funktioniert ein Cookie wirklich?

Um zu verstehen wie Cookies wirklich funktionieren, ist ein Verständnis darüber notwendig, die HTTP funktioniert. Cookies werden vom Server zum Client und zurück als HTTP Header transportiert. Die Spezifikationen für diese Header sind explizit in der Richtlinie RFC 2109 dargelegt.

Wenn ein Cookie vom Server zum Browser gesendet wird, wird eine zusätzliche Zeile zum HTTP Header hinzugefügt (beispielsweise):

Content-type: text/html
Set-Cookie: foo=bar; path=/; expires Mon, 09-Dec-2002 13:46:00 GMT
          

Dieser Headereintrag würde ein Cookie namens foo erzeugen. Der gesetzte Wert von foo ist bar. Zusätzlich hat das Cookie einen Pfad von /, was bedeutet, es ist für die gesamte Website gültig und es hat ein Verfallsdatum, nämlich den 9. Dezember 2002 um 1:46 Greenwich Zeit (auch: Universalzeit). Vorausgesetzt, dass der Browser diesen Header versteht, wird das Cookie gesetzt.

Wird ein Cookie vom Browser zum Server geschickt, so ist der Cookie Header leicht verändert:

Content-type: text/html
Cookie: foo=bar

Hier wird der Server auf ein Cookie namens foo aufmerksam gemacht, dessen gesetzter Wert bar ist.

3.3 Zerlegung von Cookie Parametern

Wie wir also gerade gesehen haben, enthält ein Cookie mehr als nur einfach einen Namen und einen Wert. Tatsächlich können 6 Parameter in ein Cookie geschrieben werden:

  • Der Name des Cookies,
  • Der Wert des Cookies,
  • Das Verfallsdatum des Cookies,
  • Der Pfad, für den das Cookie Gültigkeit besitzt,
  • Die Domain, für die das Cookie Gültigkeit besitzt,
  • Die Notwendigkeit einer existierenden sicheren Verbindung, um das Cookie zu verwenden.

Zwei davon sind Pflichtangaben (sein Name und sein Wert). Die anderen vier können manuell oder automatisch gesetzt werden. Jeder Parameter ist durch ein Semikolon ; getrennt, wenn er explizit gesetzt wird. Hier ist eine detailierte Beschreibung von jedem:

Name, Wert

Der Name eines Cookies und ein Wert werden einfach dadurch gesetzt, indem sie sozusagen aneinander gepaart werden:

... foo=bar ...
Der Wert eines Cookies kann auch NULL sein, beispielsweise zum Zweck, einen Cookiewert zu löschen/zurückzusetzen:

... foo= ...

Expires (Verfällt am/um)

Der Expires-Parameter lässt Dich die Lebensspanne des Cookies einstellen.

... expires=Mon, 01-Jan-2001 00:00:00 GMT ...

Wenn Expires nicht explizit gesetzt wird, ist der Standardwert das Ende der Session. Das Ende der Session can je nach Browser und Server variieren, aber im Allgemeinen ist eine Session die Länge der Zeit, die ein Browser geöffnet ist (auch wenn der Benutzer nicht mehr länger auf dieser Website ist).

Path (Pfad)

Der Path-Parameter ist potentiell der nützlichste der 4 optionalen Cookieeinstellungen. Er setzt den URL-Pfad, innerhalb dessen der Cookie Gültidkeit besitzt. Seiten außerhalb dieses Pfades können den Cookie nicht lesen oder benutzen.

... path=/promo ...

Wenn Path nicht explizit gesetzt wird, dann ist der Standardwert der URL-Pfad des Documents, dass das Cookie erzeugt.

Netscape hat einen Bug (zu deutsch: Programmfehler, Anmerk. d. Übersetzers) für sehr alte Versionen des Navigators gefunden, wo der Pfad unbedingt angegeben sein MUSS, wenn ein Verfallsdatum gesetzt wird. Außerdem muß dieser Pfad auf "/" gesetzt werden. Mehr Informationen über dieses Thema finden sich in Netscape's Cookie Spezifikationen unter (in englischer Sprache, Anmerk. d. Übersetzers):
http://www.netscape.com/newsref/std/cookie_spec.html

Domain

Der Domain-Parameter bringt die Flexibiltät des Path-Paramters noch einen Schritt weiter. Wenn eine Website mehrere Server innerhalb einer Domain verwendet, dann ist es wichtig den Cookie für alle Seiten innerhalb dieser Domain auf allen Server zugänglich zu machen.

... domain=www.myserver.com ...

Cookies können individuellen Rechnern zugeordnet werdenm oder auch ganzen Internetdomains. Die einzige Einschränkung an diesen Wert ist, dass er mindestens zwei Punkte für normale Top-Level-Domains besitzen muss (.myserver.com, not myserver.com), oder drei Punkte für erweiterte Domains (.myserver.ny.us, not myserver.ny.us)

WICHTIG: Der Server, der das Cookie ausgibt, muß selbst ein Mitglied der Domain sein, dass er im Cookie als Wert setzen möchte. Das bedeutet, ein Server namens www.myserver.com kann nicht ein Cookie für die Domain www.yourserver.com setzen. Die Sicherheitsgründe dafür sind offensichtlich.

Wenn Domain Nicht explizit gesetzt wird, ist der Standardwert dafür der volle Domainname des Dokuments, von dem das Cookie erzeugt wird.

Secure (Sichere Verbindung)

Der Secure-Parameter ist ein Flag, das anzeigt, ob ein Cookie nur dann benutzt werden sollte, wenn eine sichere Verbindung herrscht, zum Beispiel eine SSL Verbindung. Da die meisten Websites keine sichere Verbindung erfordern, ist der Standardwert FALSE.

3.4 Wie gelangen Cookies auf meine Festplatte?

Nachdem ein Cookie durch einen HTTP Header übermittelt wurde, wird es im Speicher Deines Browsers gespeichert. Auf diese Art ist die Information schnell und ohne neue Übermittlung verfügbar. Wie wir jedoch gesehen haben, ist es möglich, dass die Lebenszeit eines Cookies die Zeit in der ein Browser geöffnet und aktiv ist, stark übersteigt.
After a cookie is transmitted through an HTTP header, it is stored in the memory of your browser. This way the information is quickly and readily available without re-transmission. As we have seen, however, it is possible for the lifetime of a cookie to greatly exceed the amount of time the browser will be open.

In solchen Fällen muss der Browser eine Methode der Cookiespeicherung haben, wenn Du nicht durchs Web surfst oder wenn Dein Computer ausgeschaltet ist. Die einzige Möglichkeit, wie der Browser das bewerkstelligen kann ist, die Cookies vom Speicher auf die Festplatte zu schreiben. Auf diese Weise hast Du die selben Cookies immer noch, wenn Du Deinen Browser einige Tage später erneut startest.

Der Browser führt konstante Pflege seiner Cookies durch. Jedesmal, wenn Du Deinen Browser öffnest, werden Deine Cookies von der Festplatte eingelesen. Und jedes mal, wenn Du Deinen Browser beendest, werden Deine Cookies erneut auf die Festplatte gespeichert. Wenn ein Cookie ausläuft, wird es aus dem Speicher gelöscht und wird nicht wieder auf die Festplatte zurück geschrieben.

3.5 Was sind all das für Einträge in meiner cookies.txt-Datei?

Das Layout von Netscape's cookies.txt-Datei ist so strukturiert, das jede Zeile ein Name-Wert-Paar enthält. Eine beispielhafte cookies.txt-Datei könnte einen Eintrag haben, der so aussieht:

.netscape.com     TRUE   /  FALSE  946684799   NETSCAPE_ID  100103

Jede Zeile repräsentiert ein einziges Stück gespeicherter Information. Ein Tab wird zwischen jedes dieser Felder eingefügt.

Folgendes repräsentieren die einzelnen Felder von links nach rechts:

domain - Die Domain, die die Variable erzeugt hat UND die sie auslesen kann.
flag - Ein TRUE/FALSE-Wert (Wahr/Falsch, Anmerk. d. Übersetzers), der angibt, ob alle Rechner innerhalb einer gegebenen Domain auf die Variable zugreifen können.
path - Der Pfad innerhalb der Domain, für die die Variable Gültigkeit besitzt.
secure - Ein TRUE/FALSE-Wert (Wahr/Falsch, Anmerk. d. Übersetzers), der angibt, ob eine sichere Verbindung wie SSL notwendig ist, um auf die Variable zugreifen zu dürfen.
expiration - Die UNIX-Zeit, nach der die Variable ihre Gültigkeit verliert. UNIX-Zeit ist definiert als die Anzahl der vergangenen Sekunden seit dem 1. Januar 1970, um 00:00:00 GMT.
name - Der Name der Variable.
value - Der Wert der Variable.

3.6 Wo speichert MSIE seine Cookies?
Microsoft speichert seine Cookies an verschiedenen Stellen, je nach Version des Explorers und Windows, das Du benutzt. Die beste Methode das herauszufinden ist, die Windows Suchfunktion zu benutzen und nach dem "Cookies"-Dateiordner zu suchen. Mehr Information darüber kann hier gefunden werden (in englischer Sprache, Anmerk. d. Übersetzers).

Obwohl der Speicherort unterschiedlich sein kann, ist das Format das gleiche. Die Cookies jedes einzelnen Benutzers werden in ihrer eigenen Datei gespeichert, zusammen mit dem Benutzernamen desjenigen, der die Website angesurf hatte. Zum Beispiel: Wenn ich zu Yahoo.com gehe, erhalte ich ein Cookie, das in der Datei dwhalen@yahoo.txt gespeichert wird.

Bitte beachte, dass der Benutzername NICHT mit dem Cookie übermittelt wird. Mehr darüber findest Du in Punkt 2.10.

3.7 Sind Cookies Jahr-2000-kompatibel?

Es gibt keine datumsspezifische Einschränkung bei HTTP Headern, die zur Übermittlung von Cookies genutzt wird. Tatsächlich ist der einzige bestimmende Faktor, ob ein Cookie akzeptiert wird, die Einstellungen des Clients.

Die wichtigsten Browser haben kein Problem damit. Cookies mit Lebensspannen, die mit 2 oder 4 Digits gesetzt wurden, werden korrekt verstanden. Tatsächlich ist es immer ratsam, beim Setzen von Lebensspannen für Cookies 4-Digit Zahlen zu verwenden, also "2013", anstatt "13".

[Zurück nach oben]




4. FORTGESCHRITTENE THEMEN

4.1 Einleitung

Dieser Abschnitt behandelt Themen, die über die oben genannten hinaus reichen.

4.2 Erzeugung eines Cookie-Wertes

Ein Cookie zu erzeugen beinhaltet allgemein immer den HTTP Cookie Header in einer Weise zu duplizieren, so dass der Browser das Name-Wert-Paar im Speicher ablegt. Einige Sprachen erwarten die Übermittlung eines exakten HTTP Headers, während andere eingebaute Funktionen nutzen, um Dir dabei zu helfen, den Prozess zu beschleunigen.

Cookies können von der Browser-Seite aus oder von der Server-Seite aus gesetzt werden. Der entscheidende Faktor wird die Programmiersprache sein, die Du dazu einsetzt, das Cookie zu erzeugen. Sobald das Cookie einmal erzeugt ist, sollte es mit Leichtigkeit vom Server zum Client und durch HTTP Headers zurück fließen.

Es gibt Einschränkungen des Inhalts sowohl der Cookiezeichenfolge, als auch der Cookiedatei. Diese Einschränkungen werden zum Teil durch HTTP verursacht und zum Teil sind sie rein willkürlich. Folgendermaßen sehen sie aus:

  1. Du KANNST NICHT Cookies für andere Domains setzen, als für diejenige, von der Deine Response stammt. Sprich: eine Seite auf www.myserver.com kann ein Cookie für myserver.com und für www.myserver.com setzen, aber nicht für www.yourserver.com.
  2. Der HTTP Header des Cookies darf von der Informationsmenge her nicht größer sein als 4KB.

Beachte, dass das sowohl für Cookies gilt, wenn sie sich im Speicher befinden, als auch wenn sie auf die Festplatte in eine Datei geschrieben werden..

4.3 Einlesen eines Cookie-Wertes

Meistens ist es nicht nötig, den HTTP Cookie:Header auszulesen, um einen Cookie-Wert einzulesen. Die meisten Programmiersprachen lesen diesen Header für Dich aus und machen Dir die Information durch einen Variable oder ein Objekt zugänglich.

Cookies können auf der Browserseite oder auf der Serverseite gelesen werden. Nochmals erwähnt sei hier, dass der bestimmende Faktor dafür die gewählte Programmiersprache ist.

Die Haupteinschränkung beim Einlesen von Cookies ist, dass Du nur solche Cookies einlesen kannst, die für das jeweilige Dokument Gültigkeit besitzen, in dem Dein Programmskript eingebaut ist. Das bedeutet, ein Skript auf www.myserver.com kann keine Cookies von www.yourserver.com einlesen. Das gleiche gilt auch für Unterverzeichnisse innerhalb Deiner Website. Ein Cookie, der für /VerzeichnisEins gültig ist, kann nicht durch ein Skript in /VerzeichnisZwei eingelesen werden. Das wird hauptsächlich auf der Browserseite bestimmt, da der Browser die URL weiß, auf die er gerade zugreift und nur Cookies für diesen Server über die Verbindung hinweg sendet.

4.4 Löschen eines Cookie-Wertes

Bei der Programmierung einer Website gibt es viele Gründe, ein Cookie zu löschen, dass Du vorher erzeugt hattest. Meistens, weil Du ein Cookie nicht mehr brauchst, oder das Schema des Cookies wurde verändert und benötigt ein Zurücksetzen.

Die zwei Hauptschritte, um ein von Dir erzeugtes Cookie wieder zu löschen sind:

  1. Setze den Wert des Cookies auf NULL.
  2. Setze das Verfallsdatum des Cookies auf einen Zeitpunkt, der bereits vergangen ist.

Der Grund, warum Du beides tun solltest ist, dass das einfache Setzen des Verfallsdatum auf einen vergangenen Zeitpunkt den Wert nicht ändern wird, bis der Browser geschlossen/beendet wird. Das bedeutet, alle Cookienamen, -Werte, -Lebensspannen, etc. werden aufgelöst, sobald das Browserprogramm beendet wird. Den Cookie auf NULL zu setzen, erlaubt Dir das ordentliche Testen des Cookies bis zu dieser Auflösung.

4.5 Erkennen, ob Cookies akzeptiert werden

Um ordnungsgemäß zu erkennen, ob ein Cookie von einem Server akzeptiert wird, muß das Cookie in einem HTTP Request gesetzt werden und in einem weiteren HTTP Request ausgelesen und zurück gesendet werden. Das kann nicht mit einem Request erreicht werden. Beim Einsatz der Programmiersprachen PERL oder ASP, führst Du am besten Deine Besucher durch eine gemeinsame Seite, auf der Du einen Testcookie setzen kannst. Dann, wenn der Zeitpunkt kommt, dieses zu erkennen, prüfe auf das Cookie hin.

Wenn Du clientseitige Programmiersprachen nutzt, um ein Cookie zu setzen, kannst Du auf der selben Seite setzen und lesen. Cookies, die durch JavaScript oder VBScript gesetzt werden, befinden sich bereits im Speicher des Browsers, also kannst Du sofort herausfinden, ob sie richtig akzeptiert wurden. Prüfe es, indem Du einen Testwert setzt und dann versuche den Wert aus dem Cookie wieder einzulesen. Wenn der Wert immer noch existiert, wurde das Cookie akzeptiert.

4.6 Kompakte Datenschutzrichtlinien und IE6

Im Jahr 1998 begann das W3C Consortium einen Vorschlagsentwurf für Privacy Preferences (P3P) (zu deutsch: Datenschutzpräferenzen, Anmerk. d. Übersetzers) zu erstellen. P3P beinhaltet 3 Hauptziele (mit freundlicher Genehmigung des W3C):

  • Einen User Agent (sprich Browser, Anmerk. d. Übersetzers) über die Praktiken der Datensammlung und Datenschutzrichtlinien einer Website zu unterrichten.
  • Einem User Agent und Dienst zu ermöglichen, vollautmatisch miteinander zu verhandeln und zu einer für beiden Parteien zufriedenstellenden Vereinbarung zu gelangen; oder alternativ den Benutzer zu benachrichtigen und Anweisungen für das weitere Vorgehen vom Benutzer zu erhalten.
  • Daten auszutauschen, wenn der Austausch durch den Benutzer genehmigt wird und in Übereinstimmung mit den Datenschutzwünschen des Benutzers ist.

Heutzutage eine offizielle Spezifikation geworden, benutzt P3P eine XML-Datei, um so detailiert wie möglich zu beschreiben, wie eine Website persönliche Daten während und nach der Session eines Users verwenden darf. Das kann die beabsichtigte Benutzung von Cookies beinhalten, um solche Informationen zu speichern oder zu referenzieren.

Alternativ dazu kann eine Website eine P3P-Politik schaffen, die sich einzig auf die Verwendung ihrer Cookies bezieht. Diese kompakten Datenschutzrichtlinien sind ein Brennpunkt, in der neuen Strategie von Microsoft, mit dem "Problem Cookies" umzugehen.

Users des Internet Explorers 6 können ihre Datenschutzwünsche daraufhin einstellen, ob die besuchte Website eine Datenschutzrichtlinie hat oder nicht. Falls die Website keine Datenschutzrichtlinie hat, werden die Cookies automatisch vom IE zurückgewiesen und der Benutzer sieht ein Icon in der Statusleiste, dass ihm den Konflikt mit seinen Datenschutzwünschen anzeigt.

P3P könnte eine weitreichende Wirkung auf Cookies und ihre zukünftige Verwendung haben. Insbesondere im Zusammenhang von Werbung und Handel. Obwohl kompakte Datenschutzrichtlinien ziemlich einfach einzustellen sind, hinken die meisten Benutzer damit hinterher, einen großen Teil der Kontrolle über die Übermittlungen ihres Browsers zurückzuerlangen.

[Zurück nach oben]




Über den Autor

David Whalen ist ein Senior Internet Ingenieur. David schreibt webbasierte Anwendungen in ASP, VB, C#, PERL, Java und JavaScript. Er arbeitete in der Webindustrie seit über 6 Jahren. David ist Microsoft Certified Professional. Zusätzlich hielt er einer der esten Netscape DevEdge Champions und bot Entwicklern von Drittanbietersoftware Support in JavaScript und Netscape's LiveWire.

David hat außerdem einen Master in Astrophysik. Seine persönlichen Interessen beinhalten Reisen, Photgrafie, Gaming, Animation und Sport. Wenn er nicht gerade programmiert, kann er entweder beim Quake spielen oder auf dem Golfplatz gefunden werden.


Über den Übersetzer

ist seit 15 Jahren Consultant, Webdesigner und Webentwickler.
Heute arbeitet er als Agenturleiter bei der Webagentur Website Werkstatt.



Das englische Original dieses Dokumentes ist auf www.cookiecentral.com/faq/ zu finden.
Außerdem existiert eine Übersetzung auf Weißrussisch, erstellt durch Design Contest.