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

Другие вопросы по тегам