web-dev-qa-db-fra.com

Pourquoi la valeur "29030400" secondes est-elle utilisée comme valeur commune pour l'expiration du cache?

J'ai remarqué que 29030400 est très souvent utilisé dans les directives Expires pour les fichiers statiques.

Google recommande de mettre en cache ce type de fichiers jusqu'à un an (au moins un mois).

J'ai fait le calcul: 29030400 secondes = 336 jours

Cela correspond à environ 1 an moins 1 mois, ce qui correspond parfaitement à l'intervalle recommandé, mais la question est de savoir pourquoi exactement 29030400? Et pas 31536000 secondes = 365 jours par exemple? Juste un copier/coller à l'aveugle d'une valeur définie aléatoirement dans l'ancien temps? Ou a-t-il une autre explication?

10
heytools

Ça pourrait venir de

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

où chaque mois comprend exactement 4 semaines.

16
unor

Unor est correct. C'est comme trouver 2419200 secondes dans un mois de 4 semaines puis multiplier par 12 pour une année de 29030400.

Cependant, comme vous l'avez dit, ce n'est pas très précis, car plusieurs mois ont 31 jours, 5 semaines, etc.

Je fournis une réponse supplémentaire (même si la réponse correcte a été fournie) simplement pour fournir les secondes exactes pour une "année grégorienne" qui inclut également les mois de 5 semaines, 28 jours en février, etc. Au cas où quelqu'un aurait besoin de ce nombre.

Il y a 31556952 secondes dans 1 année grégorienne. Si vous souhaitez une année exacte dans votre cache, il peut s'agir du nombre que vous souhaitez utiliser pour l'expiration de votre cache. :)

1
jsidigital