Почему "29030400" секунд используется в качестве общего значения для истечения срока действия кэша?
Я заметил, что 29030400 очень часто используется в директивах Expires для статических файлов.
Google рекомендует кэшировать файлы такого рода до 1 года (не менее 1 месяца).
Я посчитал: 29030400 секунд = 336 дней
Это примерно 1 год минус 1 месяц, поэтому он идеально укладывается в рекомендуемый интервал, но вопрос в том, почему именно 29030400? А не 31536000 секунд = 365 дней, например? Просто слепая копия/вставка значения, которое было установлено случайно в старые времена? Или у этого есть другое объяснение?
2 answers
Это может исходить от
60 * 60 * 24 * 7 * 4 * 12 = 29030400
Где каждый месяц состоит ровно из 4 недель.
Unor верен. Это все равно, что найти 2419200 секунд в 4-недельном месяце, а затем умножить на 12 в течение года 29030400.
Однако, как вы упомянули, это не очень точно, так как во многих месяцах 31 день, 5 недель и т.д.
Я даю дополнительный ответ (даже если правильный ответ был предоставлен) просто для того, чтобы указать точные секунды для "григорианского года", который также включает эти 5 недельных месяцев, 28 дней в феврале и т.д. На случай, если кому-нибудь понадобится этот номер.
Там равны 31556952 секундам в 1 григорианском году. Если вам нужен точный год в вашем кэше, это может быть число, которое вы хотите использовать при истечении срока действия кэша. :)