straher.ru
Содержание
Партнеры и друзья
Быстрый переход
Вебмастеру / PHP-примеры / PHP и HTTP headers

PHP и HTTP headers

PHP, будучи языком вебпрограммирования, поддерживает реализацию механизма отправки заголовков HTTP. В соответствии со спецификацией HTTP, этот протокол поддерживает передачу служебной информации от сервера к броузеру, оформленной в виде специальных заголовков.

Таким образом, HTTP headers - это средство общения сервера с удаленным клиентом. Каждый заголовок обычно состоит из одиночной линии ASCII текста с именем и значением. Сами заголовки никак не отображаются в окне броузера, но зачастую могут сильно изменить отображение сопутствующего документа.

Механизм отправки HTTP заголовков в PHP.
Механизм отправки заголовков в PHP представлен функцией header(). Особенность протокола HTTP заключается в том, что заголовок должен быть отправлен до посылки других данных, поэтому функция должна быть вызвана в самом начале документа и должна выглядеть следующим образом:

header("HTTP заголовок", необязательный параметр replace);

Опциональный параметр replace может принимать значения типа bool (true или false) и указывает на то, должен ли быть замещен предыдущий заголовок подобного типа, либо добавить данный заголовок к уже существующему.

В отношении функции header() часто применяется функция headers_sent(), которая в качестве результата возвращает true в случае успешной отправки заголовка и false в обратном случае.

Рассмотрим наиболее используемые HTTP заголовки.

Cache-control.
"Cache-control: " значение

Заголовок управления кешированием страниц. Вообще, данная функция является одной из самых распространенных в использовании заголовков.

Данный заголовок может быть использован со следующими значениями:

no-cashe - Запрет кеширования. Используется в часто обновляемых страницах и страницах с динамическим содержанием. Его дейсвтие подобно META тегу "Pragma: no-cache".
public - Разрешение кеширования страницы как локальным клиентом, так и прокси-сервером.
private - Разрешение кеширования только локальным клиентом.
max-age - Разрешение использования кешированного документа в течение заданного времени в секундах.
header("Cache-control: private, max-age = 3600")  /* Кеширование локальными клиентами и использование в течение 1 часа */

Expires.
"Expires: " HTTP-date

Устанавливает дату и время, после которого документ считается устаревшим. Дата должна указываться в следующем формате (на английском языке):

День недели (сокр.) число (2 цифры) Месяц (сокр.) год часы:минуты:секунды GMT

Например, Fri, 09 Jan 2002 12:00:00 GMT

Текущее время в этом формате возвращает функция gmdate() в следующем виде:

echo gmdate("D, d M Y H:i:s")."GMT";

Возможно использование данного HTTP заголовка для запрета кеширования. Для этого необходимо указать прошедшую дату.

Last-Modified.
"Last-Modified: " HTTP-date

Указывает дату последнего изменения документа. Дата должна задаваться в том же формате, что и в случае с заголовком Expires. Данный заголовок можно не использовать для динамических страниц, так как многие серверы (например, Apache) для таких страниц сами выставляют дату модификации.

Возможно сделать страницу всегда обновленной:

header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");

Location.
"Location :" абсолютный URL

Полезный заголовок, который перенаправляет броузер на указанный адрес. Его действие сравнимо с META тегом Refresh:

META HTTP-EQUIV="Refresh" CONTENT="0; URL=someURL"


источник http://myphp.net.ru




Дата публикации: 2007-02-02

Вебмастеру / PHP-примеры / PHP и HTTP headers

Смотрите также:
  - Реализация ЧПУ(несуществующие страницы)
  - php массивы

Комментарии:

Самые читаемые:
Лучшие фото:








  Яндекс цитирования