Почему "29030400" секунд используется в качестве общего значения для истечения срока действия кэша?


Я заметил, что 29030400 очень часто используется в директивах Expires для статических файлов.

Google рекомендует кэшировать файлы такого рода до 1 года (не менее 1 месяца).

Я посчитал: 29030400 секунд = 336 дней

Это примерно 1 год минус 1 месяц, поэтому он идеально укладывается в рекомендуемый интервал, но вопрос в том, почему именно 29030400? А не 31536000 секунд = 365 дней, например? Просто слепая копия/вставка значения, которое было установлено случайно в старые времена? Или у этого есть другое объяснение?

Author: Stephen Ostermiller, 2013-11-24

2 answers

Это может исходить от

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

Где каждый месяц состоит ровно из 4 недель.

 16
Author: unor, 2013-11-24 16:45:45

Unor верен. Это все равно, что найти 2419200 секунд в 4-недельном месяце, а затем умножить на 12 в течение года 29030400.

Однако, как вы упомянули, это не очень точно, так как во многих месяцах 31 день, 5 недель и т.д.

Я даю дополнительный ответ (даже если правильный ответ был предоставлен) просто для того, чтобы указать точные секунды для "григорианского года", который также включает эти 5 недельных месяцев, 28 дней в феврале и т.д. На случай, если кому-нибудь понадобится этот номер.

Там равны 31556952 секундам в 1 григорианском году. Если вам нужен точный год в вашем кэше, это может быть число, которое вы хотите использовать при истечении срока действия кэша. :)

 1
Author: jsidigital, 2017-10-12 19:53:29