2012-04-09 34 views
13

Escribo una tesis de licenciatura sobre el seguimiento de visitantes web y, por lo tanto, las cookies HTTP son una parte importante de la misma. ¿Existen restricciones "naturales" con respecto al tiempo máximo de vencimiento, la edad máxima, ...? Leí que el número de expiración es una marca de tiempo de Unix (32 bits) y por lo tanto debería funcionar hasta 2038. Por otro lado, se supone que los navegadores modernos usan un número de 64 bits para almacenarlo.Tiempo de caducidad de la cookie HTTP (promedio, máximo, ...)

Intenté establecer un valor extremadamente alto (Chromium/Linux).

Warning: Expiry date cannot have a year greater then 9999 in [...] 

Pero otros navegadores tienden a implementar rangos diferentes - ¿hay alguna recomendación W3C?

¿Cuál es el tiempo de caducidad promedio más común? ¿Conoces estudios o documentos? Yo no era capaz de encontrar alguna, pero este es un tema tan popular ...

+0

+1 para la pregunta interesante – supertopi

Respuesta

11

RFC 6265 define las galletas, así que si nos fijamos en la sección 5.2.1, vemos:

Si la expiración -tiempo es posterior a la última fecha en que el agente de usuario puede representar , el agente de usuario PUEDE reemplazar el tiempo de caducidad con la última fecha representable .

Las fechas no se envían como marcas de tiempo de Unix, pero como la representación se define en section 5.1.1 que sólo especifica un límite inferior: el año 1601.

Así que esto deja a la cota superior de la fecha de caducidad en el navegador. La mayoría de los navegadores usarán las utilidades de fecha subyacentes de su sistema operativo (o glibc respectivamente) por lo que se aplicarán sus restricciones (que en su mayoría deberían ser de 64 bits ahora). Para obtener una respuesta definitiva, es posible que deba verificar las diversas implementaciones del navegador.

+0

thx .. ¡obtendrá la recompensa! – NaN

Cuestiones relacionadas