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

Поле Location

Поле заголовка отклика Location используется для переадресации запроса на сервер, отличный от указанного в Request-URI, или для идентификации нового ресурса. В случае отклика 201 (Created), поле Location указывает на новый ресурс, созданный в результате запроса. Для откликов 3xx поле Location должно указывать предпочтительные URL сервера для автоматической переадресации на ресурс. Значение поля включает одинарный абсолютный URL.

Location = "Location" ":" absoluteURI

Например

Location: http://www.w3.org/pub/WWW/People.html

Замечание. Поле заголовка ContentLocation отличается от поля Location тем, что ContentLocation идентифицирует исходное положение объекта, заключенное в запросе. Следовательно, отклик может содержать поля заголовка как Location, так и ContentLocation.

Поле Max-Forwards

Поле заголовка запроса Max-Forwards может использоваться с методом TRACE, чтобы ограничить число прокси или шлюзов, которые могут переадресовывать запрос. Это полезно, когда клиент пытается отследить путь запроса в случае возникновения различных проблем.

Max-Forwards = "Max-Forwards" ":" 1*DIGIT

Значение Max-Forwards представляет собой целое десятичное число, которое указывает, сколько еще раз запрос можно переадресовать.

Каждый прокси или шлюз получатель запроса TRACE, содержащего поле заголовка Max-Forwards, должен проверить и актуализовать его величину прежде, чем переадресовывать запрос. Если полученная величина равна нулю, получателю не следует переадресовывать запрос. Вместо этого ему следует откликнуться как конечному получателю статусным кодом 200 (OK), содержащим полученное сообщение­запрос в качестве тела отклика. Если полученное значение больше нуля, то переадресованное сообщение должно содержать актуализованное значение поля Max-Forwards (уменьшенное на единицу).

Поле заголовка Max-Forwards следует игнорировать для всех других методов, определенных в данной спецификации, и для всех расширений методов, для которых это не является частью определения метода.

Поле Pragma

Поле общего заголовка Pragma используется для включения специальных директив (зависящих от конкретной реализации), которые могут быть применены ко всем получателям вдоль цепочки запрос/отклик. Все директивы pragma специфицируют с точки зрения протокола опционное поведение. Однако некоторые системы могут требовать, чтобы поведение соответствовало директивам:

Pragma = "Pragma" ":" 1#pragmadirective pragmadirective = "no-cache" | extensionpragma extensionpragma = token [ "=" ( token | quotedstring ) ]

Когда в запросе присутствует директива nocashe, приложение должно переадресовать запрос исходному серверу, даже если имеется кэшированная копия того, что запрошено. Директива pragma имеет ту же семантику, что и директива кэша no-cache, и определена здесь для обратной совместимости с HTTP/1.0. Клиентам следует включать в запрос оба заголовка, когда посылается запрос no-cache серверу, о котором не известно, совместим ли он с HTTP/1.1.

Нельзя специфицировать директиву pragma для какогото отдельного получателя. Однако любая директива pragma, неприемлемая для получателя, должна им игнорироваться.

Клиенты HTTP/1.1 не должны посылать заголовок запроса Pragma. Кэши HTTP/1.1 должны воспринимать "Pragma: no-cache", как если бы клиент послал "Cache-Control: no-cache".