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

Тип содержимого

Поле заголовка объекта Content-Type указывает тип среды тела объекта, посланного получателю, или, в случае метода HEAD, тип среды, который был бы применен при методе GET.

Content-Type = "Content-Type" ":" mediatype

Примером поля может служить

Content-Type: text/html; charset=ISO88594

Дата

Поле общего заголовка Date представляет дату и время формирования сообщения, имеет ту же семантику, что и origdate в RFC-822. Значение поля равно HTTP-date.

Date = "Date" ":" HTTPdate

Пример

Date: Tue, 15 Nov 1994 08:12:31 GMT

Если сообщение получено через непосредственное соединение с агентом пользователя (в случае запросов) или исходным сервером (в случае откликов), дата может считаться текущей датой конца приема. Однако, так как дата по определению является важной при оценке характеристик кэшированных откликов, исходный сервер должен включать поле заголовка Date в каждый отклик. Клиентам следует включать поле заголовка Date в сообщения, которые несут тело объекта запросов PUT и POST, но даже здесь это является опционным. Полученному сообщению, которое не имеет поля заголовка Date, следует присвоить дату. Это может сделать один из получателей, если сообщение будет кэшировано им или внешним шлюзом.

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

Формат поля Date представляет собой абсолютную дату и время так, как это определено для даты HTTP. Оно должно быть послано в формате, описанном в документе RFC-1123 [7.8].

Поле eTag

Поле заголовка объекта ETag определяет метку объекта. Метка объекта может использоваться для сравнения с другими объектами того же самого ресурса.

ETag = "ETag" ":" entitytag

Примеры:

ETag: "xyzzy" ETag: W/"xyzzy" ETag: ""

Поле Expires

Поле заголовка объекта Expires содержит дату/время с момента, когда отклик может считаться устаревшим. Устаревшая запись в кэше в нормальной ситуации не должна посылаться кэшем (а также прокси кэшем и кэшем агента пользователя), если только она не будет сначала перепроверена с помощью исходного сервера (или с помощью промежуточного кэша, который содержит свежую копию объекта). Присутствие поля Expires не предполагает, что исходный ресурс изменит или удалит объект по истечении указанного времени.

Формат абсолютной даты и времени должен следовать рекомендациям документа RFC-1123:

Expires = "Expires" ":" HTTPdate

Примером реализации формата даты может служить

Expires: Thu, 01 Dec 1994 16:00:00 GMT

Замечание. Если отклик содержит поле Cache-Control с директивой maxage, то эта директива переписывает значение поля Expires.

Клиенты HTTP/1.1 и кэши должны рассматривать некорректные форматы даты, в особенности те, что содержат нули, как относящиеся к прошлому (то есть, как уже истекшие).

Для того, чтобы пометить отклик, как "уже с истекшим сроком", исходный сервер должен использовать дату Expires, которая равна значению заголовка Date.

Для того, чтобы пометить отклик как всегда пригодный, исходный сервер должен использовать дату Expiresприблизительно на один год позже момента посылки отклика. Серверы HTTP/1.1 не должны посылать отклики с датами в поле Expires, которые устанавливают время жизни более одного года.

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