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

Соединение

Поле общего заголовка Connection позволяет отправителю специфицировать опции, которые желательны для конкретного соединения. Заголовок Connection имеет следующую грамматику:

Connectionheader = "Connection" ":" 1#(connectiontoken) connectiontoken = token

Прокси­серверы HTTP/1.1 должны выполнить разбор поля заголовка Connection, прежде чем выполнить переадресацию, и для каждой лексемы соединения в этом поле убрать любые поля заголовка в сообщении с именами, совпадающими с этими лексемами. Опции Connection отмечаются присутствием лексем соединения в поле заголовка Connection, а не какимилибо дополнительными полями заголовка, так как дополнительное поле заголовка может быть не послано, если нет параметров, ассоциированных с данной опцией соединения. HTTP/1.1 определяет опцию close (закрыть) для отправителя, чтобы сигнализировать о том, что соединение будет закрыто после завершения передачи отклика. Например, наличие

Connection: close

как в полях запроса, так и в полях отклика указывает на то, что соединение не следует рассматривать как постоянное после завершения передачи данного запроса/отклика.

Приложения HTTP/1.1, которые не поддерживают постоянные соединения, должны содержать опцию соединения close в каждом сообщении.

Content-Base

Поле заголовка объекта ContentBase может быть использовано для спецификации базового URI, которое позволяет работать с относительными URL в пределах объекта. Это поле заголовка описано как Base в документе RFC-1808.

ContentBase = "ContentBase" ":" absoluteURI

Если поле ContentBase отсутствует, базовый URI объекта определяется его ContentLocation (если это ContentLocation URI является абсолютным) или URI используется для инициации запроса. Заметьте, однако, что базовый URI содержимого в пределах тела объекта может быть переопределен.

Кодирование содержимого

Поле заголовка объекта Content-Encoding применяется в качестве модификатора типа среды. Если это поле присутствует, его значение указывает, что тело объекта закодировано, и какой механизм декодирования следует применить, чтобы получить массив данных, ориентированный на тип среды, который указан в поле Content-Type. Поле Content-Encodingпервоначально предназначалось для того, чтобы архивировать документ без потери его идентичности с учетом типа среды, на которую он ориентирован.

Content-Encoding = "Content-Encoding" ":" 1#contentcoding

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

Content-Encoding: gzip

Content-Encoding (кодирование содержимого) является характеристикой объекта, задаваемой Request-URI. Обычно тело объекта заносится в память в закодированном виде и декодируется перед отображением или другим аналогичным использованием.

Если было применено множественное кодирование объекта, кодирование содержимого должно быть перечислено в том порядке, в котором оно было выполнено.

Язык содержимого

Поле заголовка объекта ContentLanguage описывает естественный язык(и) потенциальных читателей вложенного объекта. Заметьте, что это может быть совсем не эквивалентно всем языкам, использованным в теле объекта.

ContentLanguage = "ContentLanguage" ":" 1#languagetag

Первоначальной целью поля ContentLanguage является предоставление пользователю возможности дифференцировать объекты согласно языковым предпочтениям. Таким образом, если содержимое тела предназначено только для аудитории, говорящей на датском языке, подходящим содержимым поля ContentLanguage может быть

ContentLanguage: da

Если поле ContentLanguage не задано, по умолчанию считается, что содержимое ориентировано на любую аудиторию. Это может означать, что отправитель не выделяет какой­либо естественный язык конкретно или что отправитель не знает, какой язык предпочесть.

Список языков может быть предложен для текста, который предназначен для многоязыковой аудитории. Например, перевод "Treaty of Waitangi", представленный одновременно в оригинальной версии на маори и на английском, может быть вызван с помощью

ContentLanguage: mi, en

Однако только то, что в поле объекта перечислено несколько языков не означает, что объект предназначен для многоязыковой аудитории. Примером может быть языковый курс для начинающих, такой, как "A First Lesson in Latin", который предназначен для англо­говорящей аудитории. В этом случае поле ContentLanguage должно включать только en.

Поле ContentLanguage может быть применено к любому типу среды — оно не ограничено только текстовыми документами.