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

10

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

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

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

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

heytools
источник
2
Слепое копирование / вставка!
Али Хашеми

Ответы:

16

Это может прийти из

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

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

ОООНР
источник
1
Отличный ответ m8 :-) многие люди забывают, что 4 недели не месяц.
Саймон Хейтер
имеет смысл, гениальный, принятый.
heytools
1

Унор это правильно. Это как найти 2419200 секунд за 4 недели, а затем умножить на 12 за год 29030400.

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

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

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

jsidigital
источник
истечение срока действия кэша не должно быть точно Вы можете округлить до 30000000 секунд, и это не будет иметь большого значения.
Стивен Остермиллер