Question

Semicolon ;, la chaîne de Cookie: ou une autre chaîne?

Était-ce utile?

La solution

cookies dans une Inspecter requête HTTP

L'en-tête Cookie: a la syntaxe suivante:

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

Par conséquent les cookies individuels sont séparés par le point-virgule.

les cookies Mise en une réponse HTTP

Par contre, quand un cookie dans la réponse, il y a un cookie par l'en-tête de Set-Cookie::

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

Pour configurer plusieurs cookies l'en-tête de Set-Cookie est répété dans une réponse HTTP.


Notes:

  • Jetez un oeil pour un tutoriel avec des exemples, et RFC 6265 HTTP mécanisme de gestion État pour une référence normative montrant tous les détails de la syntaxe.
  • Le désormais obsolète RFC 2965 défini une paire autre des en-têtes et Cookie2 Set-Cookie2 qui ont été abandonnés .
  • Les versions OBSOLETED du HTTP mécanisme de gestion État ( RFC 2109 et RFC 2965 ) a fourni un moyen pour plier plusieurs en-têtes Set-Cookie (ou Set-Cookie2) en un seul. Cependant, ce pliage n'est pas recommandé par la dernière RFC 6265 spec.

Autres conseils

La réponse est un signe , virgule.

Dans la section 4.2.2 de RFC 2109 il y a cette spécification d'en-tête Set-Cookie

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

avec la déclaration suivante Officieusement, l'en-tête de réponse Set-Cookie comprend le jeton Set-Cookie :, suivi d'une virgule liste séparée d'un ou plusieurs cookies. (ce qui signifie Formellement de # au-dessus la notation est définie dans RFC 733 dans la section A. notationnelles CONVENTIONS point 5

Une construction "#" est défini, similaire à "*", comme suit:

              <l>#<m>element

indiquant au moins <l> et à la plupart des éléments de <m>, chacun séparé par un ou plusieurs des virgules ( "").

Oui, RFC 2109 a été rendu obsolète par la RFC 2965, ce qui a été rendu obsolète par RFC 6265 .
Non, cela ne change rien dans ce contexte que

  • la plupart HTTP existants serveurs et clients prennent en charge la RFC 2109
  • RFC 6265 ne pas interdire pliage Set-Cookie
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top