Domanda

Punto e virgola ;, la stringa Cookie: o qualche altra stringa?

È stato utile?

Soluzione

Ispezione dei cookie in una richiesta HTTP

L'intestazione Cookie: ha la seguente sintassi:

Cookie: <Name> = <Value> { ; <Name> = <Value> }

Quindi i singoli cookie sono separati dal punto e virgola.

Impostazione dei cookie in una risposta HTTP

D'altra parte, quando si imposta un cookie nella risposta, c'è un cookie per l'intestazione Set-Cookie::

Set-Cookie: <Name> = <Value> [ ; expires = <Date>] [ ; path = <Path> ] [ ; domain = <Domain> ] // etc…

Per impostare più cookie, l'intestazione Set-Cookie viene ripetuta in una risposta HTTP.


Note:

  • Dai un'occhiata qui per un tutorial con esempi e RFC 6265 HTTP State Management Mechanism per un riferimento normativo che mostra i dettagli completi della sintassi.
  • L'ormai obsoleto RFC 2965 ha definito una coppia alternativa di intestazioni Cookie2 e Set-Cookie2 che sono state abbandonate .
  • Le versioni obsolete di HTTP State Management Mechanism ( RFC 2109 e RFC 2965 ) hanno fornito un modo per piegare più intestazioni Set-Cookie (o Set-Cookie2) in una sola. Tuttavia, questa piegatura non è consigliata dalle ultime RFC 6265 specifiche.

Altri suggerimenti

La risposta è il segno di una virgola ,.

Nella sezione 4.2.2 di RFC 2109 c'è questa specifica dell'intestazione Set-Cookie

   set-cookie      =       "Set-Cookie:" cookies
   cookies         =       1#cookie

con la seguente dichiarazione Informalmente, l'intestazione della risposta Set-Cookie comprende il token Set-Cookie :, seguito da un elenco separato da virgole di uno o più cookie. (Formalmente significato di # nel precedente la notazione è definita nella RFC 733 nella sezione A. NOTATIONAL CONVENTIONS , punto 5

Viene definito un costrutto "#", simile a "*", come segue:

              <l>#<m>element

indicando almeno <l> e al massimo <m> elementi, ciascuno separato da una o più virgole (",").

Sì, RFC 2109 era obsoleto da RFC 2965, che a sua volta era obsoleto da RFC 6265 .
No, non cambia nulla in questo contesto come

  • La maggior parte dei client e dei server HTTP esistenti supporta RFC 2109
  • RFC 6265 non vieta la piegatura del codice tag generacodic
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top