Tim: Allgemeine Cookie Fragen

hi,

ich habe hier mal ein paar cookies, wie sie auf dem PC gespeichert sind. Zuerst wunder ich mich über die Unixumbrüche \n denn im Wineditor ist es nur eine Zeile.

Die Inhalte sind gekürzt, weil ich nicht weiss ob man was daraus ableiten kann.

// Eigenes angelegtes Cookie:

reisen
6
localhost/verz/subverz/
1**8
163*****64
3*****66
20****2944
29****61
*

Erste Zeile ist klar, der name meines Wertepaares.
Zweite Zeile auch klar das Value meines Wertepaares.
Dritte Zeile das die Domäne + Verzeichnis
4,5,6,7,8 Keine Ahnung, was ist das?
9te also dieses * , nehme mal an das ist der Trenner

// Cookie hier im Forum erhalten(aus Neugierde, wofür das wohl hier genutzt wird?)

OAID
004e03**************168b83de78f
src.selfhtml.org/
1**4
3**6374144
30***986
37***92944
2*****61
*

Schein im Prinzip vom Aufbau wie meines zu sein, aber nehme mal an verschlüsselt.

// Nun eines von Google

PREF
ID=94*****043b5ef:TM=123*****249:LM=123****249:S=D2Ba19******uNuA
google.de/
1**4
3662****44
30*****11
177*****944
29***4561
*

Das sieht ein wenig anders aus, eher so wie ich meines erwartet hatte, denn ich gebe ja auch werte-paare an.

Die Fragen:

Zu Cookies liest man maximal 20-50 je Domäne.

Was ist da mit Domäne gemeint, nur die Domain inlusive aller Unterverzeichnisse, oder auch jedes Verzeichnis für sich?

Ein Auszug aus Wikipedia deckt sich mit HIER:

* übrigens beim Folgenden nutze ich der Übersicht halber "»»" um das zu trennen, wäre schön wenn Ihr bei den Hilfsbutton noch einen zulegt mit diesem Zeichen, habs auf der Tastatur nicht drauf und das Lürzel würde ich eh wieder vergessen, so muss ich hier immer das erst irgendwo kopieren wenn ich es brauche. Wäre ein kleiner Schritt fürs Forum, ein Grosser für mich ;-)

Browseranforderungen
Nach RFC 2965 soll ein Browser Folgendes unterstützen:

Es sollen insgesamt mindestens 300 Cookies gespeichert werden können.

Wie jetzt 300, von was, wo? Etwa von einer IP-Adresse oder wie?

Es sollen pro Domain mindestens 20 Cookies gespeichert werden können.

Wo ich ja schon fragt was mit Domain dann gemeint ist:

Ein Cookie soll mindestens 4096 Bytes enthalten können.

Microsoft sagt aber  maximal nicht mindestens?: http://support.microsoft.com/kb/941495/de

Die Werte-Paare
Ich speichere sie ja name=value; ab, und so erscheinen sie auch wieder wenn ich sie per JS ausgebe, aber die echten Cookiedateien enthalten diesen String so nicht ausser Google, wie ist das zu deuten?

Da im String kein "=" und somit name optisch direkt an value anknuepft, muss ich wohl davon ausgehen, dass der Unixzeilenumbruch als offizieller Trenner gilt?

Nichmal zurückzukommen auf die erlaubten maximal 20-50 Cookies, das verstehe ich nicht. jedesmal wenn ich einen Cookie anlege mache ich das so:

document.cookie='name1=wert1;';
document.cookie='name2=wert2;';

jetzt würde ich davon ausgehen das wären schon 2 Cookies, ist aber nicht so, weil nur eine Cookie-Datei, oder gilt jedes Paar für sich als Cookie?

Ah, da fällt mir noch was ein, http://de.selfhtml.org/javascript/objekte/document.htm#cookie macht kein Semikolon am Ende des Wertepaares, ist in anderen Anleitungen aber immer drin, muss das Semikolon sein oder optional?

Ich habe natülich einige Tutorials zu Rate gezogen, aber diese Fragen stellt sich wohl keine weils ja funktioniert.

Tim

  1. Hi,

    Es sollen pro Domain mindestens 20 Cookies gespeichert werden können.
    Wo ich ja schon fragt was mit Domain dann gemeint ist:

    Na Domain halt.

    Was ist da mit Domäne gemeint, nur die Domain inlusive aller Unterverzeichnisse, oder auch jedes Verzeichnis für sich?

    Domain ist Domain, und Path ist Path. Wenn Path gemeint gewesen waere, haette man sicher auch Path in die Spezifikation hineingeschrieben.

    Ein Cookie soll mindestens 4096 Bytes enthalten können.
    Microsoft sagt aber  maximal nicht mindestens?: http://support.microsoft.com/kb/941495/de

    Ja, und?

    Mal aus dem Original des MS-KB-Artikels:

    The document.cookie property can retrieve only 4,096 bytes of a cookie on a client computer. If the cookie string is longer than 4,096 bytes, the property returns an empty string.

    MS hat also ein eigenes Limit gesetzt, was Cookies im IE angeht.
    (UNd zwar wohl fuer alle Cookies einer Domain zusammen, und nicht fuer jedes einzeln.)

    Die Werte-Paare
    Ich speichere sie ja name=value; ab, und so erscheinen sie auch wieder wenn ich sie per JS ausgebe, aber die echten Cookiedateien enthalten diesen String so nicht ausser Google, wie ist das zu deuten?

    Das ist als "wie der Browser die Cookies letztendlich ablegt, kann dir vollkommen egal sein" zu deuten :-)

    Da im String kein "=" und somit name optisch direkt an value anknuepft, muss ich wohl davon ausgehen, dass der Unixzeilenumbruch als offizieller Trenner gilt?

    Du hast dir angesehen, wie *ein* *bestimmter* Browser Cookies auf der Festplatte ablegt.
    Was willst du mit dieser Info anfangen?

    Nichmal zurückzukommen auf die erlaubten maximal 20-50 Cookies, das verstehe ich nicht. jedesmal wenn ich einen Cookie anlege mache ich das so:

    document.cookie='name1=wert1;';
    document.cookie='name2=wert2;';

    jetzt würde ich davon ausgehen das wären schon 2 Cookies, ist aber nicht so, weil nur eine Cookie-Datei, oder gilt jedes Paar für sich als Cookie?

    Noch Mal: Wie der Browser die Cookies speichert, kann dir schnurzegal sein.
    Es sind zwei Cookies, ja.

    Ah, da fällt mir noch was ein, http://de.selfhtml.org/javascript/objekte/document.htm#cookie macht kein Semikolon am Ende des Wertepaares, ist in anderen Anleitungen aber immer drin, muss das Semikolon sein oder optional?

    Worauf genau beziehst du dich?

    Ich sehe dort bspw.

    document.cookie = "Name=SELFHTML; expires=" + ablauf.toGMTString();

    Ich habe natülich einige Tutorials zu Rate gezogen, aber diese Fragen stellt sich wohl keine weils ja funktioniert.

    Warum stellst du sie dir?

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. Hi,

      Wo ich ja schon fragt was mit Domain dann gemeint ist:

      Domain ist Domain, und Path ist Path. Wenn Path gemeint gewesen waere, haette man sicher auch Path in die Spezifikation hineingeschrieben.

      Also Pfad nicht, was ist mit Subdomain?

      Ein Cookie soll mindestens 4096 Bytes enthalten können.
      Microsoft sagt aber  maximal nicht mindestens?: http://support.microsoft.com/kb/941495/de

      Ja, und?

      Ok, also nicht mehr als 4069 Bytes ist hier anzuraten.

      MS hat also ein eigenes Limit gesetzt, was Cookies im IE angeht.
      (UNd zwar wohl fuer alle Cookies einer Domain zusammen, und nicht fuer jedes einzeln.)

      Was dann ja eh nur läppische 20 sein dürfen auch wenn eine Domain Aussmasse hätte wie eine Wikipedia. Nehmen wir mal an ich will eine Webseite zu Cookies machen mit vielen Beispiel dazu, dann muss ich immer aufpassen die berets vorhandenen Cookies zu löschen, damit nicht ruck zuck alles voll und somit nicht benutzbar ist, richtig?

      Das ist als "wie der Browser die Cookies letztendlich ablegt, kann dir vollkommen egal sein" zu deuten :-)

      Stimmt eigentlich.

      Noch Mal: Wie der Browser die Cookies speichert, kann dir schnurzegal sein.
      Es sind zwei Cookies, ja.

      Ok, das war wichtig zu wissen.

      Ah, da fällt mir noch was ein, http://de.selfhtml.org/javascript/objekte/document.htm#cookie macht kein Semikolon am Ende des Wertepaares, ist in anderen Anleitungen aber immer drin, muss das Semikolon sein oder optional?

      Worauf genau beziehst du dich?
      Ich sehe dort bspw.

      document.cookie = "Name=SELFHTML; expires=" + ablauf.toGMTString();

      document.cookie = "Zeitstempel=" + document.lastModified;

      Ich habe natülich einige Tutorials zu Rate gezogen, aber diese Fragen stellt sich wohl keine weils ja funktioniert.

      Warum stellst du sie dir?

      Weil mir einige unklar war, wie zb. das jedes Werte-Paar genau ein Cookie ist.

      Danke
      Tim

      1. Hi,

        Also Pfad nicht, was ist mit Subdomain?

        "at least 20 cookies per unique host or domain name"

        abc.example.com und def.example.com koennen zwei durchaus unterschiedliche Hosts sein - also wuerde ich sagen, pro eindeutigem Domainnamen.

        Was dann ja eh nur läppische 20 sein dürfen auch wenn eine Domain Aussmasse hätte wie eine Wikipedia.

        Selbst bei der Wikipedia wuesste ich nicht, wozu die mehr als 20 Cookies auf meinem Client ablegen sollte.

        Und wenn man wirklich mehr "Informationen" ablegen muss, kann man ja bspw. auch mehrere Informationen in einem Cookie zusammenfassen.

        Allerdings sollte man sich, was Cookies angeht, im eigenen Interesse auf das Notwendigste beschraenken - Cookies werden schliesslich mit jedem neuen Request innerhalb ihres Gueltigkeitspfades wieder mitgeschickt, blaehen also die Request-Header auf. So gut wie alle in letzter Zeit erschienenen Ratgeber zur Minimierung von Seitenladezeiten empfehlen deshalb, so wenig Daten wie moeglich in Cookies abzulegen, bzw. teilweise sogar statische Inhalte wie Bilder, JS, CSS von eigenen Domains zu laden, auf denen keine Cookies gesetzt werden.

        Nehmen wir mal an ich will eine Webseite zu Cookies machen mit vielen Beispiel dazu, dann muss ich immer aufpassen die berets vorhandenen Cookies zu löschen, damit nicht ruck zuck alles voll und somit nicht benutzbar ist, richtig

        Die aeltesten Cookies zuerst wieder zu loeschen, obliegt dem Browser.

        document.cookie = "Zeitstempel=" + document.lastModified;

        Da dort keine weiteren Angaben bzgl. spezieller Eigenschaften des Cookies folgen, kann das Semikolon wohl entfallen.

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“