PHP поддерживает реализацию механизма отправки заголовков HTTP.Сначала скажем несколько слов о самих 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"> Например, этот заголовок может быть использован так:
if ($login != $admin_login) header("location: http://www.server.com/login.php"); Мы разобрали конечно же не все http заголовки (на это нам несколько уроков не хватит), но рассмотрели наиболее полезные и самые используемые. Автор: нет данных |