uso una son que paginas pagina malos los las google funcionan con como chrome celular buenos cookies

cookies - son - ¿Cuál es el tamaño máximo de una cookie y cuántos se pueden almacenar en un navegador para cada sitio web?



que son los cookies en el celular (9)

Estoy aprendiendo sobre las cookies, y me pregunto sobre el soporte del navegador cuando escribo aplicaciones web que dependen de las cookies para almacenar el estado.

  • Para cada dominio / sitio web, ¿cuántas cookies se pueden enviar a un navegador y de qué tamaño?

  • Si se envían y almacenan múltiples cookies, ¿eso afecta el rendimiento?


4 KB por cookie. 20 cookies por dominio en Internet Explorer 6 (aunque se envió una actualización aumentando este límite a 50). Esto significa que el denominador común es 80 KB de datos, divididos en 20 fragmentos (torpes en el mejor de los casos).

En general, se recomienda preservar el estado en el servidor y usar cookies solo para el seguimiento de la sesión. Se envían junto con cada solicitud, y realmente no desea docenas de KB de datos cruzando el cable en cada llamada al servidor.

Si desea mantener el estado en el cliente y puede usar JavaScript para hacerlo, hay opciones. La biblioteca PersistJS los implementa a todos (como una conveniente tienda de claves / valores). El almacenamiento de Dojo es otra conocida biblioteca de almacenamiento local de varios navegadores.

Un breve resumen de las opciones de almacenamiento:

  • localStorage / globalStorage : Firefox 2+, Chrome 4+, Safari 4+, Internet Explorer 8+. 5 MB por dominio.
  • userData : Internet Explorer 5.5+. 64 KB por dominio en la zona restringida, 128 KB por dominio en la zona de Internet.
  • Almacenamiento persistente de Flash 8: cualquier navegador con Flash 8+. 100 KB, más con permiso del usuario.
  • Engranajes de Google : cualquier navegador con el complemento Gears . 2 GB, requiere la aprobación explícita del usuario.

Entonces, generalmente depende de tu caso de uso:

  • Menos de 10 KB, usaría cookies. Transparente para el usuario y universalmente compatible.
  • Entre 10 KB y 100 KB, una combinación de userdata, localstorage y Flash podría ser lo que necesita para ofrecer una solución transparente en todos los navegadores comunes. Acabo de reemplazar las cookies con una solución de este tipo en las aplicaciones web que desarrollo, y funciona muy bien.
  • 100 KB y más: Flash o Gears. De cualquier forma, el usuario tiene que autorizarle explícitamente a almacenar datos. Gears es más fácil de usar, ya que proporciona una API de SQL.

Gears está a punto de desaparecer , así que no confíe en él. Existe soporte nativo de almacenamiento de SQL en varios navegadores , pero se considera obsoleto, por lo que sería una mala forma confiar en eso también. El futuro para el almacenamiento del lado del cliente es IndexedDB , que es algo a tener en cuenta, pero que aún no se ha finalizado en este momento.

Use una biblioteca como una lawnchair de lawnchair para abstraer las diferencias entre los motores de almacenamiento (hace que la migración sea más fácil).


En primer lugar, sugiero que no te preocupes por este problema. Hay AMPLIO espacio para serializar toneladas de identificadores.

En segundo lugar, no está almacenado por web-server sino por web-domain , por ejemplo, www.google.com y no los 100 de servidores físicos diferentes que prestan servicios al dominio de Google.

En tercer lugar, si tiene que preocuparse, sepa que hay dos posibles encabezados de cookies . Los tamaños de estos encabezados de cookies están determinados por los límites del software del navegador.

Discusión de diseño

Lo que no quiere usar es el encabezado de la cookie para enviar detalles sobre la sesión de un cliente. Por ejemplo, no intente rellenar el correo electrónico que un cliente está escribiendo en una cookie si está creando un front-end de correo electrónico. En su lugar, le enviarías al cliente una cookie que representa su identidad + sesión: almacenas todos los datos de las sesiones con esta identidad. Puede almacenar decenas de identificadores (4-16 bytes) por encabezado de cookie y nadie necesita más que 4 de estos. Los datos de cookies (como un número entero) tienden a codificarse en base64 que aumenta el recuento de bytes.

Actuación

Su navegador envía una plétora de encabezados a un servidor web. La cookie es solo otro 100-1000 bytes (en su mayoría más cerca de 100). En ambos extremos, solo lleva una fracción de tiempo enviarlos al servidor web, cuando se los coloca en contexto, por supuesto. Debe tener en cuenta que la web se basa en protocolos basados ​​en texto.



Las diferentes browswers tienen diferentes límites de tamaño en las cookies. Aquí está la información para IE . Here hay una página que enumera varios navegadores.

Las cookies no se guardan en un servidor, sino en un dominio (un servidor puede albergar muchos dominios o al revés, una granja de servidores puede estar sirviendo un solo dominio).

En general, evitaría guardar mucha información en las cookies, ya que los datos se envían desde y hacia el navegador en cada solicitud. Como sugiere en su pregunta, esto puede tener un efecto en el rendimiento.

Por lo general, uno almacena pequeñas cantidades de datos en la cookie, que se utilizan principalmente para identificar al usuario / sesión, por lo que se pueden recoger más datos de una base de datos u otro recurso local en el servidor web.


Si está programando un sitio web, es una buena idea no almacenar demasiado en una cookie, ya que esa cookie se envía al servidor cada vez que el usuario solicita una página de su sitio. Una solución mucho mejor es almacenar una identificación única en la cookie y dejar que el servidor obtenga la información requerida de una base de datos o un archivo basado en esa identificación única. Lamentablemente, esa solución hace que las personas se preocupen por lo que rastrea, por lo que es posible que desee tener una "política de cookies" expresada en algún lugar de su sitio que explique por qué coloca una cookie en su navegador y qué hace y don no rastrear sobre ellos.


Si le preocupa la disminución del rendimiento debido a que se envían cookies grandes en cada solicitud del servidor, una buena idea podría ser colocar todos sus archivos estáticos (imágenes, CSS, etc.) en un subdominio de su sitio, como http://static.yourdomain.com .

De esta forma, cada vez que su sitio en www.yourdomain.com solicita un archivo estático, como una imagen, el navegador ya no enviará la cookie junto con la solicitud HTTP.

Fuente: http://developer.yahoo.com/performance/rules.html#cookie_free


4096 bytes El verdadero problema, sin embargo, se produce cuando intentas establecer cookies con un tamaño grande. Los estándares establecen que un navegador debe admitir un mínimo de 4096 bytes por cookie. IE6 no hace esto. En cambio, parece tener un tamaño máximo de 4096 bytes para todas las cookies de un dominio.


CDN viene a rescatar.

Puede descargar su contenido estático en un CDN o en un servicio de almacenamiento de archivos como Amazon S3, mantener las solicitudes de archivos estáticos sin cookies debe ser fácil siempre que no haya configurado un registro CNAME en un subdominio que reciba cookies de su parte superior dominio de nivel

Esta entrada de blog es una buena lectura para servir contenido estático de un dominio sin cookies y cómo podemos adoptar esta mejor práctica para aumentar nuestro rendimiento en el lado del cliente.


Límites de tamaño de cookies

Si desea admitir la mayoría de los navegadores, no exceda las 50 cookies por dominio y 4093 bytes por dominio . Es decir, el tamaño de todas las cookies no debe exceder 4093 bytes.

Pensamientos de rendimiento

Las cookies se envían cada vez que se solicita un dominio, esto incluye imágenes. Por razones de argumentos, digamos que tiene 30 recursos en su sitio web y tiene 4093 bytes de cookies. Eso significa que el usuario está cargando 122 Kb de datos. Entonces, si tengo una conexión de carga de 1Mbit, tomará al menos 1 segundo.

Si desea ver la página de prueba de cookies que creé, o leer más al respecto, consulte Límites de cookies del navegador .