Мой 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')
(перефразировал) в своем коде, чтобы действительно убедиться, что контент установлен как истек, а не кеширован.