Expires header 可以设置为过去的日期以防止缓存,尽管这似乎被认为是一种不寻常的做法。今天之前的任何日期都可以用于此目的,但 WordPress 出于某种原因
使用非常具体的日期
Wed, 11 Jan 1984 05:00:00 GMT
。我非常确定 WP 是这种做法的起源,因为涉及该日期的所有讨论似乎都与 WordPress 有关,并且本文 特别指出 Expires 标头值作为 WordPress 服务器的标志。 这篇博文评论了这个不寻常的日期,但没有提供任何有用的信息(除非缓存控制标头是为了纪念弗里茨·盖斯勒的去世)。
在我看来,选择像
1 Jan 1900 00:00:00 GMT
这样更通用的时间戳以避免对特殊性感到惊讶是更好的做法。它显然造成了一定程度的混乱(尽管不多),正如从这个论坛帖子中可以看出的那样。有谁知道这个日期的意义是什么或者为什么 WordPress 开发人员选择它?我只能假设这是某种复活节彩蛋,但如果能找出详细信息就太好了。
看起来这可以追溯到 WordPress 版本 2.1。
做了一些挖掘,在
functions.php
中首次使用此日期是在 commit 2623 中,它被用在 nocache_headers()
函数中。
在此之前,它已被复制和粘贴了几次。我认为第一个例子是 commit 1983,其中一个案例中的不可缓存日期从“Michel”(也许是 Michel Valdrighi?)的出生日期更改为 1984 年日期。该提交的消息是:
不缓存。不完全是。帽子提示:Kimmo Suominen。
该提交来自 Matt Mullenweg,他的生日被维基百科列为 1984 年 1 月 11 日。
-- BerespHeader 过期:1984 年 1 月 11 日星期三 05:00:00 GMT
我怎样才能摆脱它?