Позволить кэшировать PHP генерировало файл, я хочу удостовериться, что 'Прагма:' заголовок без кэшей не установлен. Однако, как я возможно уже удаляю заголовок набора?
Таким образом, это могло быть возможно, который где-нибудь в коде кто-то записал header('Pragma: no-cache');
и теперь я хочу удостовериться, заголовок не отправляется.
Это достаточный, чтобы сделать это:
header('Pragma:');
или есть ли что-то как delete_header()
(который, по-видимому, был бы не документирован или хорошо скрыт)?
header_remove () , так как php 5.3
header_register_callback () также скоро появится
Вы можете переопределить ранее установленный заголовок, передав второй аргумент в header ()
:
void header ( string $string [, bool $replace = true [, int $http_response_code ]] )
См. Руководство для header ()
Поведение заголовков 'pragma' не определено в спецификации - несмотря на широко распространенное мнение, что отправка заголовка 'Pragma: No-cache" заголовок будет иметь некоторое влияние на браузер, на самом деле он почти повсеместно игнорируется (и никогда не возвращается ни одной установкой php, которую я использовал).
Чтобы указать браузеру НЕ кэшировать содержимое, используется заголовок expires с датой в прошлом, заголовок Cache-Control со значением no-cache или (если вы хотите быть хитрее) заголовок 'Varies: Date". При отсутствии любого из этих типов заголовков клиент не должен кэшировать страницу.
Поэтому, наоборот, если вы хотите, чтобы страница была кэшируемой, установите заголовки expires и cache-cntrol.
C.