Pregunta

Punto y coma ;, el Cookie: ¿Cuerda o alguna otra cuerda?

¿Fue útil?

Solución

Inspección de cookies en una solicitud HTTP

El encabezado Cookie: tiene la siguiente sintaxis:

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

Por lo tanto, las cookies individuales se separan con punto y coma.

Configuración de cookies en una respuesta HTTP

Por otro lado, al configurar una cookie en la respuesta, existe una cookie por el encabezado Set-Cookie::

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

Para configurar varias cookies, el encabezado Set-Cookie se repite en una respuesta HTTP.


Notas:

  • Consulte aquí para ver un tutorial con ejemplos y RFC 6265 Mecanismo de administración de estado HTTP para una referencia normativa que muestra los detalles completos de la sintaxis.
  • El RFC 2965 ahora obsoleto definió un par alternativo de encabezados Cookie2 y Set-Cookie2 que se abandonaron .
  • Las versiones obsoletas del Mecanismo de administración de estado HTTP ( RFC 2109 y RFC 2965 ) proporcionaron una forma de plegar varios encabezados Set-Cookie (o Set-Cookie2) en uno. Sin embargo, este plegado no es recomendado por la última especificación de RFC 6265 .

Otros consejos

La respuesta es una coma. , firmar.

En el apartado 4.2.2 de RFC 2109 existe esta especificación de Set-Cookie encabezamiento

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

con la siguiente declaración De manera informal, el encabezado de respuesta Set-Cookie comprende el token Set-Cookie:, seguido de una lista separada por comas de una o más cookies. (Formalmente significado de # en la notación anterior se define en RFC 733 en la sección A.CONVENCIONES NOTACIONALES, punto 5

Se define una construcción "#", similar a "*", de la siguiente manera:

              <l>#<m>element

indicando al menos <l> y como mucho <m> elementos, cada uno separado por una o más comas (",").

Sí, el RFC 2109 quedó obsoleto por el RFC 2965, que a su vez quedó obsoleto por RFC 6265.
No, no cambia nada en este contexto ya que

  • la mayoría de los servidores y clientes HTTP existentes son compatibles con RFC 2109
  • RFC 6265 no no prohibir Set-Cookie plegable
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top