secure ejemplo cookie http http-headers rfc httpcookie

http - ejemplo - secure cookie



En la especificación HTTP, ¿cuál es la cadena que separa las cookies? (2)

Punto ; coma , la Cookie: cadena o alguna otra cadena?


Inspeccionar 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 el punto y coma.

Configuración de cookies en una respuesta HTTP

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

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

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

Notas:

  • Eche un vistazo here para ver un tutorial con ejemplos, y al Mecanismo de gestión de estado HTTP RFC 6265 para una referencia normativa que muestra los detalles completos de la sintaxis.
  • El ahora obsoleto RFC 2965 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 manera de plegar varios encabezados Set-Cookie (o Set-Cookie2 ) en uno solo. Sin embargo, este plegado no está recomendado por la última especificación RFC 6265 .

La respuesta es una coma , firme.

En la sección 4.2.2 de RFC 2109 hay esta especificación del encabezado Set-Cookie

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

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

Se define una construcción "#", similar a "*", como sigue:

<l>#<m>element

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

Sí, RFC 2109 fue obsoleto por RFC 2965, que a su vez fue obsoleto por RFC 6265 .
No, no cambia nada en este contexto como

  • la mayoría de los servidores HTTP y clientes existentes admiten RFC 2109
  • RFC 6265 no prohíbe el plegado de Set-Cookie