2009-03-12 18 views

Respuesta

14

Una clave de cookie (utilizada para identificar una sesión) y una cookie son lo mismo que se utilizan de diferentes maneras. Entonces el límite sería el mismo Según Microsoft, es 4096 bytes.

MSDN

cookies se limitan generalmente a 4096 bytes y no se puede almacenar más de 20 cookies por sitio. Al usar una sola cookie con subclaves, utiliza menos de esas 20 cookies que su sitio es asignado. Además, una sola cookie ocupa alrededor de 50 caracteres para (información de caducidad y ), más la longitud del valor que almacene en ella, todos los cuales cuentan para el límite de 4096 bytes. Si almacena cinco subclaves en lugar de cinco cookies separadas, guarda la sobrecarga de las cookies separadas y puede ahorrar alrededor de 200 bytes.

+7

Por cierto, sólo porque usted tiene aproximadamente 4 KB de almacenamiento de cookies del navegador para jugar con usted debería considerar seriamente si esa es una buena idea o no. – NotMe

+2

no podría estar más de acuerdo! – cgreeno

+0

¿Puede confirmar si por cada dominio/sitio el número de cookies no puede exceder más de 20? o se ha incrementado por ahora? – Mutant

90

En realidad, RFC 2965, el documento que define cómo funcionan las cookies, especifica que no debe haber ningún longitud máxima de tamaño de la clave o el valor de una cookie, y alienta a las implementaciones para apoyar arbitrariamente grandes cookies. El máximo de implementación de cada navegador será necesariamente diferente, por lo tanto, consulte la documentación del navegador individual.

Consulte la sección 5.3, "Límites de implementación", en the RFC.

+13

Como de costumbre, "especificación" y "mundo real" parecen ser completamente diferentes. Debido a que las cookies se envían con CADA solicitud HTTP, en realidad es bueno que haya límites. – BenSwayne

+2

¡Es una especificación bastante inútil si en realidad hay límites! ¡Esta es la respuesta "correcta", sin embargo! –

+2

No entiendo por qué los navegadores eligen no seguir esta especificación. No hay ninguna razón por la cual no debería poder descargar más de 4 KB (que no es mucho) en una cookie, cuando cosas como localStorage ya existen. – William

302

El límite 4K sobre el que lee es para toda la cookie, incluyendo nombre, valor, fecha de caducidad, etc. Si desea admitir la mayoría de los navegadores, sugiero mantener el nombre bajo 4000 bytes y el tamaño total de cookie bajo 4093 bytes .

Una cosa a tener en cuenta: si el nombre es demasiado grande, no puede eliminar la cookie (al menos en JavaScript). Se elimina una cookie actualizándola y configurándola para que caduque. Si el nombre es demasiado grande, digamos 4090 bytes, encontré que no podía establecer una fecha de caducidad. Solo analicé esto por interés, no es que pretenda tener un nombre tan grande.

Para leer más al respecto, aquí está el "Browser Cookie Limits" para los navegadores más comunes.


Mientras que sobre el tema, si quieres apoyar a la mayoría de los navegadores, entonces no exceda 50 cookies por dominio, y 4093 bytes por dominio. Es decir, el tamaño de todas las cookies no debe exceder 4093 bytes.

Esto significa que puede tener 1 de cookies de 4093 bytes, o 2 galletas de 2045 bytes, etc.


Solía ​​decir 4095 bytes debido a IE7, sin embargo, ahora Safari Mobile llega con 4096 bytes con una sobrecarga de 3 bytes por cookie, por lo que 4093 bytes máx.

+10

el límite 4K se refiere a todas las cookies bajo un dominio específico, por lo tanto, cuando se alcanza este límite, es probable que no pueda crear una nueva cookie. – ulkas

+6

@ulkas: He agregado eso en Ahora. Una vez que se alcanza el límite, he observado en muchos navegadores que puede crear nuevas cookies, pero eliminará muchas de las existentes. – Iain

+0

Nota: RFC 2965 ha sido obsoleto y reemplazado por RFC 6265. La sección de límites es en gran parte sin cambios (ver: https://tools.ietf.org/html/rfc6265#section-6.1), pero RFC 6265 es ahora la fuente canónica. –

35

También puede usar web almacenamiento si las especificaciones de la aplicación lo permiten (tiene soporte para IE8 +).

Tiene 5M (la mayoría de los navegadores) o 10M (IE) de memoria a su disposición.

"Web Storage (Second Edition)" es la API y "HTML5 Local Storage" es un comienzo rápido.

+4

Probablemente debería observarse aquí que una advertencia para usar el almacenamiento web es que, sin una solución alternativa, los datos almacenados en el almacenamiento web solo pueden almacenarse/accederse desde HTTP O HTTPS, pero no compartidos entre ellos (incluso para el mismo sitio) . – ilasno

+0

@ilasno Afaik la misma limitación existe para las cookies tradicionales. –

23

Después de probar unos navegadores a mí mismo, y el uso de vacunas de navegador he compilado la lista siguiente

enter image description here

+0

Respondido el 18-02-2017 LOL, pero las versiones son muy anticuadas. –

+1

@AjmalPraveen Esto se debe a que esta respuesta se copió de [este sitio] (http://browsercookielimits.squawky.net/) (aunque una versión anterior, como usted dijo). Una fuente hubiera sido agradable, para que las personas interesadas puedan ver una fuente más actualizada –

+0

Sí, tienes razón, espero que tu respuesta también ayude a alguien ... –

Cuestiones relacionadas