Kann mit einem Set-Cookie mehr als ein Cookie gesetzt werden?

8

Eine HTTP-Set-Cookie-Anweisung kann nur einen Cookie enthalten, richtig? Ich meine, ein einziges name=value -Paar?

    
lovespring 21.05.2010, 06:38
quelle

1 Antwort

18

Die ursprüngliche Cookie-Spezifikation von Netscape (siehe Cache-Version ) sagt nichts über das Auflisten mehrerer Cookie-Deklarationen.

Aber ab Set-Cookie , wie in RFC 2109 definiert, erlaubt eine durch Kommas getrennte Liste der Cookie-Deklaration:

  

Informell enthält der Set-Cookie-Antwortheader das Token Set-Cookie :, gefolgt von einer durch Kommas getrennten Liste von einem oder mehreren Cookies. Jeder Cookie beginnt mit einem NAME = VALUE-Paar, gefolgt von null oder mehr semikolongetrennten Attribut-Wert-Paaren.

Dasselbe gilt für Set-Cookie2 , wie in RFC 2965 definiert:

>
  

Informell enthält der Set-Cookie2-Antwortheader das Token Set-Cookie2: gefolgt von einer durch Kommas getrennten Liste von einem oder mehreren Cookies. Jeder Cookie beginnt mit einem NAME = VALUE-Paar, gefolgt von null oder mehr semikolongetrennten Attribut-Wert-Paaren.

Da jedoch die meisten Benutzeragenten immer noch der ursprünglichen Spezifikation von Netscape folgen, würde ich eher vorschlagen, jedes Cookie mit seinem eigenen Set-Cookie Header-Feld zu deklarieren.

Dies ist auch der letzte RFC 6265 :

  

Origin-Server SOLLTEN NICHT mehrere Set-Cookie-Header-Felder in falten      ein einzelnes Header-Feld. Der übliche Mechanismus zum Falten von HTTP-Headern      Felder (d. h. wie in [RFC2616] definiert) könnten die Semantik von ändern      das Headerfeld Set-Cookie, weil das Zeichen% x2C (",") verwendet wird      durch Set-Cookie in einer Weise, die mit solcher Faltung konfligiert.

    
Gumbo 21.05.2010, 06:45
quelle

Tags und Links