Удалить заголовок в PHP - PullRequest
       16

Удалить заголовок в PHP

9 голосов
/ 03 апреля 2010

Чтобы разрешить кэширование сгенерированного PHP файла, я хочу убедиться, что заголовок «Pragma: no-cache» установлен , а не . Однако как удалить возможно уже установленный заголовок?

То есть, возможно , что где-то в коде кто-то написал header('Pragma: no-cache'); и теперь я хочу убедиться, что заголовок не отправлен.

Достаточно ли сделать это:

header('Pragma:');

или есть что-то вроде delete_header() (что, по-видимому, недокументировано или хорошо скрыто)?

Ответы [ 4 ]

13 голосов
/ 03 апреля 2010

header_remove () начиная с php 5.3

header_register_callback () также скоро появится

3 голосов
/ 30 марта 2013

Я знаю, что этот вопрос старый и уже ответил. Но некоторые ответы могут оставить у людей неправильное впечатление. Будьте уверены, что если заголовки вашего ответа содержат Pragma: no-cache, это фактически предотвратит кэширование ресурса веб-браузером независимо от других настроек.

Поэтому, если вы используете хотя бы PHP 5.3, вы можете удалить заголовок Pragma, используя header_remove( 'Pragma' );.

2 голосов
/ 03 апреля 2010

Вы можете переопределить ранее установленный заголовок, передав второй аргумент header():

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

Проверьте руководство для header()

1 голос
/ 04 апреля 2010

Поведение заголовков 'pragma' не определяется спецификацией - несмотря на широко распространенное мнение, что отправка заголовка 'Pragma: No-cache' будет иметь некоторый эффект на браузер, на самом деле это почти повсеместно игнорируется никогда не возвращается ни одной установкой php, которую я использовал).

Указание браузеру НЕ кэшировать содержимое выполняется через заголовок expires с датой в прошлом, заголовок Cache-Control со значением без кэширования или (если вы хотите быть скрытным) с помощью 'Varies: Заголовок даты. При отсутствии любого из этих типов заголовков клиент не должен кэшировать страницу.

Итак, наоборот, если вы хотите, чтобы страница была кэшируемой, установите заголовки expires и cache-cntrol.

C.

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