2010-05-21 17 views
8

Una direttiva HTTP Set-Cookie può contenere solo un cookie, è giusto? Voglio dire, una singola coppia name=value?È possibile impostare più di un cookie con un singolo Set-Cookie?

+0

Dal momento che si dice direttiva, stiamo parlando di htaccess o qualcosa del genere? Se è così, i tag dovrebbero essere ridefiniti. Utilizzando javascript è possibile impostare comunque molti cookie che si desidera. –

risposta

18

La specifica del cookie originale di Netscape (vedere this cached version) non dice nulla sull'elenco di più dichiarazioni di cookie.

Ma di set-cookie come definito dal RFC 2109 permette un elenco separato di dichiarazione biscotto:

informale, l'intestazione di risposta Set-Cookie comprende il gettone Set-Cookie :, seguita da una elenco separato da virgola di uno o più cookie. Ogni cookie inizia con una coppia NOME = VALORE, seguita da zero o più coppie di valori degli attributi separati da punti e virgola.

Lo stesso vale per Set-Cookie2 come definito da RFC 2965:

informale, l'intestazione di risposta Set-Cookie2 comprende il gettone Set-Cookie2 :, seguito da un elenco separato da virgole uno o più cookie. Ogni cookie inizia con una coppia NOME = VALORE, seguita da zero o più coppie di valori degli attributi separati da punti e virgola.

Ma dal momento che la maggior parte degli agenti utente seguono ancora specifiche originali di Netscape, avrei preferito suggerire di dichiarare solo ogni biscotto con il proprio Set-Cookie campo di intestazione.

Questo è anche ciò che l'ultimo RFC 6265 riflette:

server di origine NON DOVREBBE piegare più campi di intestazione Set-Cookie in un unico campo di intestazione. Il solito meccanismo per la piegatura dei campi HTTP (ovvero, come definito in [RFC2616]) potrebbe cambiare la semantica di nel campo dell'intestazione Set-Cookie perché il carattere% x2C (",") viene utilizzato da da Set-Cookie in un modo che è in conflitto con tale piegatura.

+0

L'ultima specifica è RFC6265, che non dice nulla su diversi cookie in una singola intestazione Set-Cookie, per quanto posso vedere: http://www.rfc-editor.org/rfc/rfc6265.txt – neu242

+0

I puoi confermare che Google Chrome ha un parsing molto insolito quando tenti di inviare più cookie, quindi non è certamente consigliabile. Mi ha lasciato perplesso il modo in cui analizzare il cookie in base a RFC 2109 poiché il carattere "," come separatore di cookie rende praticamente impossibile l'analisi. Quindi, per dirla semplicemente, non lo analizzi. –

Problemi correlati