footy
footy

Reputation: 5921

Why is "Expires" 1981?

My CRON Job returned an error that CRON job did not work. In that this was there:

Set-Cookie: PHPSESSID=2t2drultihqci4em15nbfmeb63; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-type: text/html

I am wondering why is Expires set to "1981". What is the significance?

Upvotes: 52

Views: 28713

Answers (4)

Mark Byers
Mark Byers

Reputation: 838696

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 <[email protected]> 
         Andrei Zmievski <[email protected]> 

// ...

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

Upvotes: 114

Ashwini Dhekane
Ashwini Dhekane

Reputation: 2290

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.

Upvotes: 8

deceze
deceze

Reputation: 522382

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

Upvotes: 0

Marek Sebera
Marek Sebera

Reputation: 40661

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.

Upvotes: 10

Related Questions