¿Por qué se utilizan "29030400" segundos como un valor común para la caducidad de la memoria caché?

10

Noté que 29030400 se usa muy a menudo en las directivas Expires para archivos estáticos.

Google recomienda almacenar en caché este tipo de archivos hasta 1 año (1 mes como mínimo).

Hice los cálculos: 29030400 segundos = 336 días

Eso es aproximadamente 1 año menos 1 mes, por lo que cae perfectamente en el intervalo recomendado, pero la pregunta es ¿por qué exactamente 29030400? ¿Y no 31536000 segundos = 365 días por ejemplo? ¿Solo una copia / pegado ciego de un valor que se estableció aleatoriamente en los viejos tiempos? ¿O tiene otra explicación?

heytools
fuente
2
Copiar / pegar a ciegas!
Ali Hashemi

Respuestas:

16

Podría provenir de

60 * 60 * 24 * 7 * 4 * 12 = 29030400

donde cada mes consta de exactamente 4 semanas.

unor
fuente
1
Gran respuesta m8 :-) mucha gente olvida que 4 semanas no es un mes.
Simon Hayter
tiene sentido, genio, aceptado.
heytools
1

Unor es correcto. Es como encontrar 2419200 segundos en un mes de 4 semanas y luego multiplicar por 12 por un año 29030400.

Sin embargo, como mencionas, eso no es muy preciso, ya que muchos meses tienen 31 días, 5 semanas, etc.

Proporciono una respuesta adicional (aunque se haya proporcionado la respuesta correcta) simplemente para proporcionar los segundos exactos para un "año gregoriano" que también incluye esos 5 meses de la semana, 28 días en febrero, etc. En caso de que alguien necesite ese número.

Hay 31556952 segundos en 1 año gregoriano. Si desea un año exacto en su caché, este puede ser el número que está buscando usar en sus vencimientos de caché. :)

jsidigital
fuente
Los vencimientos de caché realmente no tienen que ser exactamente nada. Podrías redondear a 30000000 segundos y realmente no haría mucha diferencia.
Stephen Ostermiller