Формат начальной строки (start-line) клиента и сервера различаются. Заголовки бывают четырех видов:

1. общие заголовки (general-headers), которые могут присутствовать как в запросе, так и в ответе;

2. заголовки запросов (request-headers), которые могут присутствовать только в запросе;

3. заголовки ответов (response-headers), которые могут присутствовать только в ответе;

4. заголовки объекта (entity-headers), которые относятся к телу сообщения и описывают его содержимое.

Каждый заголовок состоит из названия, символа двоеточия ":" и значения. Наиболее важные заголовки приведены в1.1.

Таблица 1.1. HTTP-заголовки

Заголовок

Назначение

Общие заголовки

Connection

Указывает серверу на завершение (close) или продолжение (keep-alive) сеанса

Date

Дата и время формирования сообщения

Pragma

Специальные, зависящие от реализации команды, касающиеся передаваемого содержимого (например, no-cache)

Transfer-Encoding

Способ кодирования сообщения при передаче (например, win1251, koi-8r)

Заголовки запроса

Accept

Типы содержимого, которое клиент способен разработать и может воспроизвести

Accept-Charset

Кодировки символов, в которых клиент может принимать текстовое содержимое

Accept-Encoding

Способ, которым сервер может закодировать сообщение

Host

Хост и номер порта, с которого запрашивается документ

If-Modified-Since If-Match If-None-Match If-Range If-Unmodified-Since

Заголовки запроса для условного обращения к ресурсу

Range

Запрос части документа

User-Agent

Название программного обеспечения клиента

Заголовки ответа

Age

Число секунд, через которое нужно повторить запрос для получения нового содержимого

Location

URI ресурса, к которому нужно обратиться для получения содержимого

Retry-After

Дата и время или число секунд, через которое нужно повторить запрос, чтобы получить успешный ответ

Server

Название программного обеспечения сервера, приславшего ответ

Заголовки объекта

Allow

Перечисляет поддерживаемые сервером методы

Content-Encoding

Способ, которым закодировано тело сообщения, например, с целью уменьшения размера

Content-Length

Длина сообщения в байтах

Content-Type

Тип содержимого и, возможно, некоторые параметры

ETag

Уникальный тэг ресурса на сервере, позволяющий сравнивать ресурсы

Expires

Дата и время, когда ресурс на сервере будет изменен, и его нужно получать заново

Last-Modified

Дата и время последней модификации содержимого

В теле сообщения содержится собственно передаваемая информация. Тело сообщения представляет собой последовательность октетов (байтов). Тело сообщения может быть закодировано, например, для уменьшения объема передаваемой информации, при этом способ кодирования указывается в заголовке объекта Content-Encoding.

Запрос от клиента к серверу состоит из строки запроса (request-line), заголовков (общих, запросов, объекта) и, возможно, тела сообщения.

Строка запроса:

<Команда HTTP>

^Идентификатор запрашиваемого ресурса>

<Версия HTTP>

Www | Введение в технологии создания Интернет-узлов | Http команды