Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / !!! ИТ Архив / Лекции / 4_Протокол HTTP / Лекция 1 - Протокол HTTP.doc
Скачиваний:
57
Добавлен:
04.04.2013
Размер:
178.69 Кб
Скачать

If-Modified-Since

Это поле даты и времени используется командой GET для доступа к ресурсу только в том случае, если он был изменен. Это поле полезно для клиентов, применяющих кэширование. Если изменений нет, то возвращается код состояния «304 Not Modified».

Last-Modified

Здесь указана дата последнего изменения данных.

Link

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

Location

В этом поле содержится точный URL прежнего местонахождения ресурса для случаев автоматического перенаправления (коды состояния 300-399).

MIME-Version

Содержит номер версии используемого протокола MIME.

Pragma

Это многоцелевое поле для директив конкретной реализации. Одной из распространенных директив является «no-cache», показывающая что данные не следует кэшировать.

Refer

Позволяет клиенту определять URL, от которого получен запрашиваемый URL. Это помогает выявлять обратные ссылки, позволяющие отслеживать ошибки и определять доходы от рекламы. Обратные ссылки иногда содержат конфиденциальную информацию, поэтому пользователи должны иметь возможность отключать это поле. К сожалению, большинство распространенных в настоящее время HTTP-клиентов не позволяют этого сделать.

Retry-After

Указывает интервал времени, в течение которого службы недоступны. Используется совместно с кодом состояния «503 Service Unavailable».

Server

Поле указывает название и версию HTTP-сервера.

Title

Поле указывает описательное имя объекта.

URI

Здесь перечислены некоторые или все унифицированные идентификаторы ресурсов URI (Uniform Resource Identifier), доступные для данного ресурса.

User-Agent

Поле указывает название и версию HTTP-клиента.

WWW-Authenticate

Реализует неанонимный доступ с аутентификацией типа «запрос/ответ». В этой схеме «удостоверение личности» не шифруется. Подробности — ранее в разделе «Authorization».

Mime-типы и подтипы

Указание (MIME) media-типа используется для передачи сведений о формате содержимого в HTTP-транзакциях. Клиенты используют MIME-типы в своих заголовках Accept для того, чтобы сообщить, в каких форматах они предпочитают принимать данные. Серверы используют MIME-типы в заголовках Content-Type, чтобы сообщить клиенту о том, в каком формате передается прилагаемое содержимое: то ли это HTML, который нужно форматировать, то ли это GIF или JPEG, требующий визуализации, то ли это данные в формате PDF, для которого нужно открывать внешнюю программу просмотра или использовать дополнительное приложение.

MIME (Multipurpose Internet Mail Extension) — многоцелевые расширения электронной почты для Internet), разработанные для обеспечения возможности передачи присоединенных данных по Internet средствами электронной почты. Из почтовых протоколов, в силу своей простоты и наглядности, расширения MIME перекочевали в HTTP. MIME-тип указывается в формате тип/подтип. Символ * используется как метасимвол; например, следующий заголовок клиента означает, что принимаются документы во всех форматах:

Accept: •"•/*

Следующий заголовок клиента означает, что принимаются все типы формата text независимо от подтипа:

Accept: text/*

Серверы и CGI-программы должны проверять данные о принимаемых типах, содержащиеся в заголовке Accept, и по возможности выдавать данные соответствующего типа. Большинство серверов определяют формат документа по суффиксу имени файла. Например, файлы с расширениями .htm и .html — это файлы в формате HTML, поэтому сервер посылает такой документ с типом text/html в заголовке Content-Type. При вызове CGI-программы серверу неизвестен формат возвращаемых данных, поэтому программа должна сообщить тип содержимого. По этой причине каждая CGI-программа должна включать в результат своей работы заголовок Content-Type, например:

Content-Type: text/html

В следующей таблице перечислены общепринятые MIME-типы, а также суффиксы имен файлов, распознаваемые большинством серверов. Большинство серверов можно легко настроить так, чтобы они распознавали и другие суффиксы.

Тип/Подтип

Обычное расширение

application/*

Используется для обозначения принадлежности данных какому-либо приложению. При этом application/octet-stream обычно используется для обозначения бинарных данных неизвестного типа.

application/msword

doc

application/octet-stream

bin

application/pdf

pdf

application/postscript

ai, eps, ps

application/rtf

rtf

application/sgml

sgml

application/x-tex

tex

application/zip

zip

application/x-wav

wav

image/*

Изображения различного типа

image/gif

gif

image/jpeg

jpeg, jpg, jpe

image/tiff

tiff, tif

multipart/*

Используется для составных документов, т.е. документов содержащих в себе несколько частей, являющихся документами разного типа. Например, это могут быть почтовые сообщения, содержащие текст письма и набор прикрепленных файлов.

multipart/alternative

multipart/digest

multipart/form-data

multipart/header-set

multipart/mixed

text/*

Текстовые данные с/без разметки

text/html

html, htm

text/plain

txt, rtx

video/*

видеопоток

video/mpeg

mpeg, mpg