include("compteur.php"); ?>
PHP и HTTP: headersЗаголовки удваивают размер событий. PHP, будучи языком вебпрограммирования, поддерживает реализацию механизма отправки заголовков HTTP. Сначала скажем несколько слов о самих HTTP заголовках. В соответствии со спецификацией HTTP, этот протокол поддерживает передачу служебной информации от сервера к броузеру, оформленной в виде специальных заголовков. Таким образом, HTTP headers - это средство общения сервера с удаленным клиентом. Каждый заголовок обычно состоит из одиночной линии ASCII текста с именем и значением. Сами заголовки никак не отображаются в окне броузера, но зачастую могут сильно изменить отображение сопутствующего документа. Механизм отправки HTTP заголовков в PHP.Механизм отправки заголовков в PHP представлен функцией header(). Особенность протокола HTTP заключается в том, что заголовок должен быть отправлен до посылки других данных, поэтому функция должна быть вызвана в самом начале документа и должна выглядеть следующим образом:
Опциональный параметр replace может принимать значения типа bool (true или false) и указывает на то, должен ли быть замещен предыдущий заголовок подобного типа, либо добавить данный заголовок к уже существующему. В отношении функции header() часто применяется функция headers_sent(), которая в качестве результата возвращает true в случае успешной отправки заголовка и false в обратном случае. Рассмотрим наиболее используемые HTTP заголовки. Cache-control."Cache-control: " значение Заголовок управления кешированием страниц. Вообще, данная функция является одной из самых распространенных в использовании заголовков. Данный заголовок может быть использован со следующими значениями:
Expires."Expires: " HTTP-date Устанавливает дату и время, после которого документ считается устаревшим. Дата должна указываться в следующем формате (на английском языке): День недели (сокр.) число (2 цифры) Месяц (сокр.) год часы:минуты:секунды GMT Например, Fri, 09 Jan 2002 12:00:00 GMT Текущее время в этом формате возвращает функция gmdate() в следующем виде:
Возможно использование данного HTTP заголовка для запрета кеширования. Для этого необходимо указать прошедшую дату. Last-Modified."Last-Modified: " HTTP-date Указывает дату последнего изменения документа. Дата должна задаваться в том же формате, что и в случае с заголовком Expires. Данный заголовок можно не использовать для динамических страниц, так как многие серверы (например, Apache) для таких страниц сами выставляют дату модификации. Возможно сделать страницу всегда обновленной:
Location."Location :" абсолютный URL Полезный заголовок, который перенаправляет броузер на указанный адрес. Его действие сравнимо с META тегом Refresh: <META HTTP-EQUIV="Refresh" CONTENT="0; URL=someURL"> Например, этот заголовок может быть использован так:
Мы разобрали конечно же не все HTTP заголовки (на это нам несколько уроков не хватит), но рассмотрели наиболее полезные и самые используемые. Полный список HTTP заголовков вы можете посмотреть здесь. |