Una cookie es un fragmento de información que se almacena en el disco duro del visitante de una página web a través de su navegador, a petición del servidor de la página. Esta información puede ser luego recuperada por el servidor en posteriores visitas.
No suelo darle importancia a las novedades de Internet Explorer, pero hoy me pareció interesante algunos consejos que dan desde el blog de éste navegador para reducir el tráfico HTTP que se produce entre un servidor y un cliente.
Antes de continuar, estas son las nuevas limitaciones que impone Internet Explorer para el manejo de Cookies:
- Se incrementó de 20 a 50 el número de cookies que se puede crear por dominio.
document.cookie
retornará una cadena vacía si el tamaño de las cookies es mayor a 4096 bytes.- El navegador ignorará las cabeceras
Set-Cookie
si éstas exceden de 5118 bytes.
Volviendo al tema anterior, éstos son los consejos que sugieren para reducir el tráfico HTTP:
- Reducir el tamaño de las cookies: Recomiendan utilizar nombres y si es posible, valores más cortos. Ejm. en lugar de una cookie denominada
username
, usar sólou
. - Servir el contenido estático desde otro (sub)dominio: Una vez que el servidor envía las cookies usando la cabecera
Set-Cookie
, un navegador convencional enviará de vuelta estos valores en cada petición que se haga al servidor. Como los valores de las cookies son irrelevantes para los archivos estáticos, entonces se genera tráfico innecesario. - Usar el atributo
path
sólo cuando sea necesario: El atributo path permite manejar cookies para rutas específicas de un dominio, por ejemplo si se envían cookies para la ruta/aplicacion
, entonces en el servidor se podrá acceder a estos valores sólo desde esa ruta *. Usar este atributo en general va a depender de los requerimientos de la aplicación, pero si quieres ahorrar unos cuantos bytes entonces haz que la ruta sea para todo el dominio.
Las resultados de estos consejos seguramente van a ser más evidentes en sitios con mucho tráfico que en sitios como éste, donde el número de lectores se puede contar con los dedos de la mano. 😀
*: En realidad se puede acceder a todos los datos de la petición y por consiguiente a todas las cookies, pero de manera convencional algunos lenguajes abstraen esta funcionalidad para dar acceso sólo a las cookies definidas para una ruta.