Intereting Posts

Почему «истекает» 1981 год?

Мой CRON Job вернул ошибку, что работа CRON не работала. В том, что это было:

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 

Мне интересно, почему Expires установлен на «1981». В чем смысл?

Это попытка отключить кеширование.

Дата – день рождения разработчика Sascha Schumann, который добавил код.

С 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

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

Для предотвращения кэширования ответа установлено значение «минус» или «минус».

Весьма распространенное использование этого заголовка.

Я думаю, вы используете session_cache_limiter перед вызовом session_start . Если аргумент является private или no-cache результат устанавливает заголовок Expires на время, о котором вы упомянули. Дополнительную информацию см. В этом документе.

Кто-то просто положил expires = date('-30 years') (перефразировал) в своем коде, чтобы действительно убедиться, что контент установлен как истек, а не кеширован.