Заголовки HTTPЗаголовки HTTP используются для "общения" браузера и web-сервера, например, когда браузер запрашивает какой-либо документ, он посылает заголовок GET, а когда сервер возвращает тип документа, то он делает это ни как-нибудь, а в заголовке Content-type. Мы уже частично рассматривали заголовки протокола HTTP, но теперь остановимся на них подробнее. Итак, приведем список и краткое описание основных заголовков HTTP. Заголовок Accept Заголовок Accept предназначен для информирования сервера о типах данных, которые поддерживаются клиентом (браузером). В этом заголовке браузер перечисляет, какие типы документов он "понимает". Пере- Используется переменная окружения HTTP_ACCEPT. Пример использования:
В последнее время вместо списка указывается значение *.*, что означает "все типы". Заголовок Content-type Данный заголовок предназначен для идентификации типа передаваемых данных. При этом заголовок Content-type использует переменную окружения CONTENT_TYPE. Обычно для этого заголовка указывается значение application/x-www-form-urlencoded. Таким образом, указывается формат, в котором все управляющие символы (т.е. символы, не являющиеся алфавитно-цифровыми) специально кодируются. О некоторых других MIME-типах вы можете узнать здесь. Это тот самый формат передачи, который используется методами GET и POST. Довольно распространен и другой формат, multipart/form-data. Сервер никак не интерпретирует рассматриваемый заголовок, а просто передает его сценарию через переменную окружения. Пример: Заголовок Content-length Этот заголовок содержит строку, в которой записана длина передаваемых данных в байтах при использовании метода передачи POST. За заголовком закреплена одноименная переменная CONTENT_LENGTH. Если задействуется метод GET, то этот заголовок отсутствует, и значит, переменная окружения не устанавливается. Заголовок Cookie В этом заголовке хранятся все Cookies. Данный заголовок использует переменную окружения HTTP_COOKIE. Для установки Cookies используется заголовок Set-Cookie. Заголовок GET Об этом заголовке мы упоминали ранее. Заголовок GET использует следующие переменные окружения:
Заголовок Location Получив заголовок Location вместе с указанным в нем URL, сервер немедленно переходит по указанному URL, не дожидаясь, пока тело документа загрузится: Пример: Заголовок POST Этот заголовок использует те же переменные окружения, что и заголовок GET (переменная REQUEST_METHOD содержит значение POST). Напомним, что данные методом POST можно передавать в конце заголовков. Напомним формат заголовка POST: Заголовок Pragma Данный заголовок используется для различных целей, одна из которых - это запрет кэширования документа. Пример заголовка: Заголовок Server Данный заголовок содержит название и версию программного обеспечения сервера. Например:
Заголовок Referer С помощью этого заголовка можно узнать ссылающийся на нас сервер. Это бывает полезно, когда нам необходимо узать обратные ссылки, например, при анализе эффективности сетевой рекламы. Переменная окружения: HTTP_REFERER. Заголовок User-Agent Содержит версию браузера. Например: User-Agent: Mozilla/5.0 (compatible; Konqueror/3.0.0-10; Linux). Переменная окружения: HTTP_REFERER. Некоторые комментарии по HTTP-заголовкам Мы ознакомились с названиями заголовков и соответствующим им переменным окружения. Необходимо помнить основные приципы:
Передача заголовков HTTP в PHP В PHP есть встроенные функции для работы с заголовками HTTP. Для передачи заголовков HTTP предназначена функция header() Приведем практические примеры:
|