signinasync net formsauthentication cookie asp asp.net web-applications

asp.net - formsauthentication - net core cookie authentication



¿Cuál es el tamaño máximo de un archivo cookie? (4)

¿Hay alguna limitación en el tamaño de la cookie? Además, ¿es este navegador dependiente?



El tamaño máximo "oficial" es de 4 KB, pero preferiría mantenerlo bien : no más de unos pocos cientos de bytes, máximo.

El motivo es que las cookies se transmiten del cliente al servidor con cada solicitud , incluso cuando se solicitan imágenes, archivos css y js (si residen en el mismo host , debería evitar algo en general , pero para sitios pequeños puede que no valga la pena). la molestia). Eso significa que requerirá que el cliente transmita 4KB para cada solicitud , recordando también que la mayoría de la banda ancha del consumidor tiene una velocidad de carga mucho más lenta que la velocidad de descarga.


Es importante destacar que la especificación de cookie oficial RFC 2965 establece que los navegadores mínimos deben cumplir con :

5.3 Límites de implementación Las implementaciones prácticas de agente de usuario tienen límites en cuanto al número y tamaño de las cookies que pueden almacenar. En general, el soporte de cookies de los agentes de usuario no debe tener límites fijos. Deben esforzarse por almacenar tantas cookies de uso frecuente como sea posible. Además, los agentes de usuario de uso general DEBEN proporcionar cada una de las siguientes capacidades mínimas de forma individual, aunque no necesariamente de forma simultánea:

  • al menos 300 galletas
  • al menos 4096 bytes por cookie (según lo medido por los caracteres que conforman la cookie no terminal en la descripción de la sintaxis del encabezado Set-Cookie2 y como se recibe en el encabezado Set-Cookie2)
  • al menos 20 cookies por host único o nombre de dominio

Los agentes de usuario creados para fines específicos o para dispositivos de capacidad limitada DEBEN proporcionar al menos 20 cookies de 4096 bytes, para garantizar que el usuario pueda interactuar con un servidor de origen basado en sesión.

La información en un encabezado de respuesta Set-Cookie2 DEBE conservarse en su totalidad. Si por alguna razón no hay espacio suficiente para almacenar la cookie, DEBE ser descartada, no truncada. Las aplicaciones deben utilizar la menor cantidad posible de cookies, y deben lidiar con la pérdida de una cookie.

Leer más: http://www.faqs.org/rfcs/rfc2965.html#ixzz0rjy5CJQa

Desde la FAQ de cookies :

Microsoft guarda las cookies en la carpeta "Archivos temporales de Internet", una carpeta del sistema que puede establecer el tamaño máximo (el valor predeterminado es el 2% de su disco duro).

En cualquier caso, recuerde que la mayoría de los archivos de cookies son de 4 KB o más pequeños, por lo que necesitará aproximadamente un millón de cookies para llenar una unidad de 4 GB. Esto es increíblemente improbable.

Verá la referencia límite de 4kb en Internet junto con otras estadísticas útiles.


Los datos de las cookies están restringidos a 4kb.

4 KB per cookie maximum 300 total cookies, for a total of 1.2 Mbytes maximum 20 cookies accepted from a particular server or domain

Cada cookie comienza con un par nombre-valor. Este par es seguido por cero o por más pares de valor-atributo que están separados por punto y coma. Para un nombre de dominio, cada cookie está limitada a 4,096 bytes. Este total puede existir como un par de nombre-valor de 4 kilobytes (KB) o como hasta 20 pares de nombre-valor que suman 4 KB. Si la computadora no tiene espacio suficiente para almacenar la cookie, la cookie se descarta. No está truncado. Las aplicaciones deben usar la menor cantidad de cookies posible y la más pequeña posible. Además, las aplicaciones deben poder manejar la pérdida de una cookie.

Si una aplicación web usa más de 19 cookies personalizadas, el estado de la sesión ASP puede perderse. Internet Explorer 4.0 y versiones posteriores permiten un total de 20 cookies para cada dominio. Debido a que ASPSessionID es una cookie, si usa 20 o más cookies personalizadas, el navegador se ve obligado a descartar la cookie de ASPSessionID y perder la sesión.