PHP session_cache_limiter () private и nocache HTTP Истекает вопрос о дате - PullRequest
2 голосов
/ 19 января 2010

Если вы посмотрите справку по документу PHP для функции session_cache_limiter () , вы увидите, что если для параметра cache_limiter установлено значение private или nocache, в заголовке HTTP Expires установлена ​​постоянная дата (чт., 19 ноября 1981 г. 08:52:00 по Гринвичу). Я понимаю, что это дата в прошлом, чтобы избежать кеширования, но почему именно эта дата / время? Это не дата 0, я думаю, что это какое-то пасхальное яйцо. Если это какое-то фиктивное значение в прошлом, могу ли я заменить его на что-то другое (все еще в прошлом), и при этом механизм приватного / nocache все еще работает?

1 Ответ

5 голосов
/ 19 января 2010

это день рождения человека, который внес код:

Различия: http://cvs.php.net/viewvc.cgi/php-src/ext/session/session.c?r1=1.80&r2=1.81

http://www.phpbuilder.com/lists/php3-list/199911/3159.php

чтобы изменить его, было бы предпочтительнее установить заголовки вручную, например, nocache устанавливает это:

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

но вы все равно можете сделать:

session_cache_limiter('nocache')
header('Expires: Thu, 1 Jan 2000 00:00:00 GMT');
Заголовок

заменит любой существующий заголовок с тем же именем (по умолчанию).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...