为什么将“ 29030400”秒用作缓存过期的通用值?


10

我注意到在静态文件的Expires指令中经常使用29030400。

Google建议最多将此类文件缓存1年(至少1个月)。

我进行了数学运算:29030400秒= 336天

那大约是1年减去1个月,因此它恰好在建议的时间间隔内,但是问题是,为什么正是29030400?而不是31536000秒= 365天?只是盲目的复制/粘贴过去随机设置的值?还是有其他解释?


2
盲目复制/粘贴!
Ali Hashemi

Answers:


16

它可能来自

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

每个月正好包含4个星期。


1
很好的答案m8 :-)很多人忘记了4个星期不是一个月。
西蒙·海特

是有道理的,天才的,被接受的。
heytools 2013年

1

Unor是正确的。这就像在一个4周的月份中找到2419200秒,然后乘以12得出29030400。

但是,正如您提到的那样,这并不是很准确,因为许多个月有31天,5周等。

我提供了一个额外的答案(即使提供了正确的答案),只是为了提供“公历年”的确切秒数,其中还包括那些5周的月份,2月的28天等。以防有人需要该数字。

1格里历年有31556952秒。如果要在缓存中指定确切的年份,则可能是您要在缓存过期中使用的数字。:)


缓存过期并不一定完全是任何东西。您可以舍入到30000000秒,这实际上并没有多大区别。
斯蒂芬·奥斯特米勒
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.