Почему "Истекает" 1981?
Моя работа CRON вернула ошибку, что работа 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". Какое значение?
4 ответа
Это попытка отключить кеширование.
Дата - день рождения разработчика Саша Шумана, который добавил код.
Из 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
Для предотвращения кэширования ответа устанавливается отрицательное или предыдущее значение.
Довольно распространенное использование этого заголовка.
Я думаю, что вы используете session_cache_limiter
перед звонком session_start
, Если аргумент private
или же no-cache
Результатом является установка Expires
заголовок ко времени, которое вы упомянули. Обратитесь к этому документу для получения дополнительной информации.
Кто-то просто положил expires = date('-30 years')
(перефразировал) в своем коде, чтобы убедиться, что контент установлен как просроченный и не кэшированный.