2009-07-15 12 views
16

Kann eine Domain mehrere Cookies im Webbrowser des Besuchers generieren? Wenn ja, wenn der Benutzer die Website besucht, welche Cookies werden an den Server geliefert? Und warum würde eine Website mehrere Cookies generieren?Kann eine Domain mehrere Cookies enthalten?

Ich habe die Cookie-Einstellungen meines Google Chrome Browsers überprüft und festgestellt, dass es mehrere Cookies von nytimes.com gibt.

Wenn der Server mehrere Schlüssel/Wert-Paare in Cookies speichern möchte, können diese nicht in den gleichen Cookies gespeichert werden?

multiple cookies

cookies-1

cookies-2

Antwort

14

Ja :)

Ich würde vermuten, dass die Cookies, die von separaten Komponenten der Website erstellt wurden, die von getrennten Teams von Entwicklern erstellt wurden. Ausgerechnet wir sollten uns darüber im Klaren sein, dass dies häufig der Fall ist, wenn wir etwas entwickeln müssen, aber keine Zeit haben, auf die Zusammenarbeit zu warten, oder dass ein anderes Team eine notwendige Schicht für uns entwickelt.

Aus Wikipedia:

Relevante Anzahl der maximal gespeicherten Cookies pro Domain für die wichtigsten Browser sind:

  • Firefox 3.0: 50
  • Opera 9: 30
  • Internet Explorer 7 : 50
1

Wenn Sie ein Programm schreiben, verwenden Sie nur eine Variable? Kein Recht?

Das gleiche Prinzip hier - Cookies sind nur Schlüssel/Wert-Paare, die Ihr Programm (Server/Client) verwenden kann.

+0

Sie ein Plätzchen bedeutet nur einen Schlüssel/Wert-Paar speichern? Ich habe gedacht, dass verschiedene Schlüssel/Wert-Paare in den gleichen Cookies gespeichert werden können. – ninikin

9

Kann eine Domain mehrere Cookies im Webbrowser des Besuchers generieren?

Ja. Das genaue Limit hängt vom Browser ab, Internet Explorer used to accept 20 but increased this to 50.

Wenn ja, wenn der Benutzer die Website besucht, welche Cookies werden an den Server geliefert?

Alle von ihnen

Und warum mehrere Cookies eine Website generieren würde?

Damit müssen Sie nicht alle Daten (die aus nicht verwandten Teilen des Systems stammen könnten) in einem Cookie serialisieren.

1

Ja, eine Domain kann viele Cookies generieren. Die maximale Anzahl varies von Browser.

0

- Jede Website kann beliebig viele Cookies erstellen. (Aber es scheint, dass dies von Browser zu Browser variieren kann)

-Wenn der Benutzer die Website besucht, werden alle aktiven Cookies gesendet.

-Es ist sinnvoll, mehrere Cookies zu haben, um separate Daten zu speichern. Im Extremvergleich vergleichen Sie Cookies mit Klassen;)

5

Ein Cookie ist nur ein einziges Schlüssel/Wert-Paar, mit optionalen Domänen-, Pfad-, Ablauf- und Zugriffseinstellungen.

Gründe Daten in einzelne Cookies zu trennen sind:

  • einfacher Code zu pflegen - verschiedene Bits der Website, die miteinander zusammenarbeiten, müssen nicht speichern Zustand müssen sie alle in einem Cookie zu packen .
  • Einfachere Benutzerverwaltung - der Endbenutzer (Sie) kann einfacher sehen, was gespeichert ist, und bestimmte Cookies selektiv löschen.
  • Verschiedene Verwendungszwecke - z. B. ein Cookie, der Ihren Sitzungsschlüssel enthält, kann als secure; httpOnly; markiert werden, während Cookies, die UI-Einstellungen enthalten, weiterhin über JavaScript zugänglich sind.
  • Anfragegröße reduzieren - Wenn einige Cookies nur für bestimmte Seiten verwendet werden, kann die Eigenschaft path verwendet werden, sodass sie nicht unnötig für Seiten gesendet werden, auf denen sie nicht benötigt werden.
4

Ein Server kann eine beliebige Anzahl von Cookies angeben und jeder Cookie wird in seinem eigenen Header Set-Cookie angegeben.

Set-Cookie Jeder Header enthält zumindest das Paar CookieName=CookieValue und kann andere key=value Paare zusätzlich zu entweder einem oder securehttpOnly Attribut enthalten. Diese zusätzlichen Paare und Attribute sind Metadaten, die sich auf das tatsächliche Cookie beziehen und nicht zum Setzen zusätzlicher Cookies verwendet werden können.

Wenn ein Client Cookies an einen Server zurücksendet, kombiniert er sie alle in einem einzigen Header Cookie. Dies ist möglich, da der Client die Metadaten nie zurückschickt, sondern nur den Cookie-Namen und den Wert.

diesen HTTP-Austausch vor:

GET/HTTP/1.1 
Host: www.example.com 

HTTP/1.1 302 Found 
Location: http://www.example.com/index.html 
Set-Cookie: UserID=12345; Expires=Wed, 09 Jun 2021 10:18:14 GMT; domain=.example.com;path=/index.html; httpOnly` 
Set-Cookie: SessionID=6478; domain=.example.com;path=/index.html; httpOnly 
Set-Cookie: foo=bar 

GET /index.html HTTP/1.1 
Host: www.example.com 
Cookie: UserID=12345; SessionID=6478; foo=bar 
Verwandte Themen