web-dev-qa-db-fra.com

Pourquoi "Expire" 1981?

Mon travail CRON a renvoyé une erreur indiquant que le travail CRON n'a pas fonctionné. En ce que c'était là:

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

Je me demande pourquoi Expires est réglé sur "1981". Quelle est la signification?

40
footy

C'est une tentative de désactiver la mise en cache.

La date est l'anniversaire du développeur Sascha Schumann qui a ajouté le code.

Depuis 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);
}
89
Mark Byers

En-tête HTTP Expires

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

Il est défini sur une valeur négative ou passée, pour empêcher la mise en cache de la réponse.

Utilisation assez courante de cet en-tête.

8
Marek Sebera

Je pense que vous utilisez session_cache_limiter avant d'appeler session_start. Si l'argument est private ou no-cache le résultat est de mettre l'en-tête Expires à l'heure que vous avez mentionnée. Reportez-vous au document this pour plus d'informations.

6
Ashwini Dhekane

Quelqu'un vient de mettre expires = date('-30 years') (paraphrasé) dans son code pour s'assurer vraiment que le contenu est défini comme expiré et non mis en cache.

2
deceze