Why is “Expires” 1981?

冷暖自知 提交于 2019-11-27 20:23:17

It's an attempt to disable caching.

The date is the birthday of the developer Sascha Schumann who added the code.

From session.c:

Authors: Sascha Schumann <sascha@schumann.cx> 
         Andrei Zmievski <andrei@php.net> 

// ...

CACHE_LIMITER_FUNC(private)
{
    ADD_HEADER("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
    CACHE_LIMITER(private_no_expire)(TSRMLS_C);
}

HTTP Expires header

http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html

It is set to negative or past value, to prevent caching of response.

Quite common usage of this header.

I think you are using session_cache_limiter before calling session_start. If argument is private or no-cache the result is setting the Expires header to the time you have mentioned. Refer to this document for more information.

Somebody just put expires = date('-30 years') (paraphrased) in his code to make really sure the content is set as expired and not cached.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!