Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сетевые протоколы в инфокоммуникациях (ПЗ).docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3.51 Mб
Скачать

Поле Accept-Ranges

Поле заголовка отклика Accept-Ranges позволяет серверу указать доступность байтдиапазонных запросов к ресурсу:

AcceptRanges = "Accept-Ranges" ":" acceptableranges acceptableranges = 1#rangeunit | "none"

Исходные серверы, которые воспринимают байтдиапазонные запросы, могут послать

Accept-Ranges: bytes

но делать это необязательно. Клиенты могут выдавать байтдиапазонные запросы, не получив этот заголовок отклика для запрашиваемого ресурса. Серверы, которые не могут работать с какими-либо диапазонными запросами, могут передать

Accept-Ranges: none,

чтобы посоветовать клиенту не пытаться посылать такие запросы.

Поле Age

Поле заголовка отклика Age передает оценку отправителем времени с момента формирования отклика исходным сервером (или перепроверки его пригодности). Кэшированный отклик является свежим, если его возраст не превышает его времени жизни.

Age = "Age" ":" agevalue agevalue = deltaseconds

Значения Age являются неотрицательным десятичным целым числом, характеризующим возраст записи в секундах.

Если кэш получает величину больше, чем наибольшее положительное число, которое он может себе представить, или если вычисление возраста вызвало переполнение, он должен передать заголовок Age со значением 2147483648 (231). Кэши HTTP/1.1 должны посылать заголовки Age в каждом отклике. Кэшам следует использовать арифметический тип чисел не менее 31 бита.

Поле Allow

Поле заголовка объекта Allow перечисляет набор методов, которые поддерживаются ресурсом, идентифицированным Request-URI. Целью этого поля является точное информирование получателя о рабочих методах данного ресурса. Поле заголовка Allow должно быть представлено в отклике 405 (Method Not Allowed).

Allow = "Allow" ":" 1#method

Пример использования:

Allow: GET, HEAD, PUT

Это поле не препятствует клиенту испытать другие методы. Однако указания, данные в значение поля заголовка Allow, следует выполнять. Действительный набор методов определяется исходным сервером во время каждого запроса.

Поле заголовка Allow может быть прислано запросом PUT, чтобы рекомендовать методы, которые будут поддерживаться новым или модифицированным ресурсом. Серверу не обязательно поддерживать эти методы, но ему следует включить заголовок Allow в отклик, чтобы сообщить действительно поддерживаемые методы.

Прокси не должен модифицировать поле заголовка Allow, даже если он не понимает все специфицированные методы, так как агент пользователя может иметь другие средства связи с исходным сервером.

Поле заголовка Allow не указывает на то, что методы реализованы на уровне сервера. Серверы могут использовать поле заголовка отклика Public, чтобы описать, какие методы реализованы на сервере.

Авторизация

Агент пользователя, который хочет авторизовать себя на сервере может сделать это после получения отклика 401, включив в запрос поле заголовка Authorization. Значение поля Authorization состоит из идентификационной информации агента пользователя для области ( realm ) запрошенных ресурсов.

Authorization = "Authorization" ":" credentials

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

Когда кэш коллективного пользования получает запрос, содержащий поле Authorization, он не должен присылать соответствующий отклик в качестве ответа на какой-­либо другой запрос, если только не выполняется одно из следующих условий:

  1. если отклик включает в себя директиву Cache-Control proxyrevalidate, кэш может применять этот отклик при последующих запросах, но проксикэш должен сначала перепроверить его пригодность с помощью исходного сервера, используя заголовки нового запроса для того, чтобы исходный сервер мог идентифицировать новый запрос;

  2. если отклик содержит в себе директиву Cache-Control mustrevalidate, кэш может применять этот отклик при ответах на последующие запросы, но все кэши должны сначала перепроверить пригодность откликов с помощью исходного сервера, используя заголовки нового запроса для того, чтобы сервер мог идентифицировать новый запрос;

  3. если отклик содержит директиву Cache-Control public, то этот отклик может быть отослан в ответ на любой последующий запрос.