Содержание поля Content-Type в HTTP и SMTP протоколах
Указание media-типа используется для передачи сведений о формате тела сообщения
в HTTP протоколе. Клиенты (просмотрщики) используют media-типы в своих заголовках Accept
для того, чтобы сообщить, в каких форматах они предпочитают принимать данные.
Серверы используют media-типы в заголовках Content-Type, чтобы сообщить
клиенту о том, в каком формате передается прилагаемое содержимое: то ли это
HTML, который нужно форматировать, то ли это GIF или JPEG, требующий
визуализации, то ли это данные в формате PDP, для которого нужно открывать
внешнюю программу просмотра или использовать дополнительное приложение.
Media-типы Internet, используемые в HTTP, очень напоминают типы MIME.
MIME (Multipurpose Internet Mail Extension - многоцелевые расширения электронной
почты для Internet) разработаны как метод передачи присоединенных данных по
Internet средствами электронной почты. Как и MIME, media-тип указывается в
формате тип/подтип. Символ * используется как метасимвол; например, следующий
заголовок клиента означает, что принимаются документы во всех форматах:
Accept: */*
Следующий заголовок клиента означает, что принимаются все типы формата
text независимо от подтипа:
Accept: text/*
Серверы и CGI-программы должны проверять данные о принимаемых типах,
содержащиеся в заголовке Accept, и по возможности выдавать данные соответствующего
типа. Большинство серверов определяют формат документа по суффиксу
имени файла. Например, файлы с расширениями .htm и .html - это файлы в формате
HTML, поэтому сервер посылает такой документ с типом text/html в заголовке
Content-Type. При вызове CGI-программы серверу неизвестен формат возвращаемых
данных, поэтому программа должна сообщить тип содержимого. По этой
причине каждая CGI-программа должна включать в результат своей работы заголовок
Content-Type, например:
Content-Type: text/html
В следующей таблице перечислены общепринятые media-типы, а также суффиксы
имен файлов, распознаваемые большинством серверов. Большинство серверов
можно легко настроить так, чтобы они распознавали и другие суффиксы.
Ниже приведены соответствующие настройки для WEB сервера Apache.
Тип передачи данных клиенту от сервера выбирается по префиксу файла при настройке WWW
сервера. По умолчанию, если префикс файла не задан или отсутствует
принудительное указание типа файла,
то задается
Content-Type: text/plain
WWW сервер при передаче файлов клиенту по умолчанию использует следующие основные
MIME типы передачи файлов (Content-Type), определяемые префиксом файла, которые обрабатывает просмотрщик
(см. полный список установок MIME-types по умолчанию).
Замечание: Отметим, что согласно протоколу HTTP значение
Content-Type, которое выдал сервер является приоритетным по сравнению со значением, установленным на машине клиента (хотя MSIE это замечание игнорирует).
application/activemessage
application/andrew-inset
application/applefile
application/atomicmail
application/dca-rft
application/dec-dx
application/mac-binhex40
application/macwriteii
application/msword
application/news-message-id
application/news-transmission
application/octet-stream bin
application/oda oda
application/pdf pdf
application/postscript ai eps ps
application/remote-printing
application/rtf rtf
application/slate
application/x-mif mif
application/wita
application/wordperfect5.1
application/x-csh csh
application/x-dvi dvi
application/x-hdf hdf
application/x-latex latex
application/x-netcdf nc cdf
application/x-sh sh
application/x-tcl tcl
application/x-tex tex
application/x-texinfo texinfo texi
application/x-troff t tr roff
application/x-troff-man man
application/x-troff-me me
application/x-troff-ms ms
application/x-wais-source src
application/zip zip
application/x-bcpio bcpio
application/x-cpio cpio
application/x-gtar gtar
application/x-shar shar
application/x-sv4cpio sv4cpio
application/x-sv4crc sv4crc
application/x-tar tar
application/x-ustar ustar
audio/basic au snd
audio/x-aiff aif aiff aifc
audio/x-wav wav
image/gif gif
image/ief ief
image/jpeg jpeg jpg jpe
image/tiff tiff tif
image/x-cmu-raster ras
image/x-portable-anymap pnm
image/x-portable-bitmap pbm
image/x-portable-graymap pgm
image/x-portable-pixmap ppm
image/x-rgb rgb
image/x-xbitmap xbm
image/x-xpixmap xpm
image/x-xwindowdump xwd
message/external-body
message/news
message/partial
message/rfc822
multipart/alternative
multipart/appledouble
multipart/digest
multipart/mixed
multipart/parallel
text/html html
text/plain txt
text/richtext rtx
text/tab-separated-values tsv
text/x-setext etx
video/mpeg mpeg mpg mpe
video/quicktime qt mov
video/x-msvideo avi
video/x-sgi-movie movie
Дополнительные типы
Дополнительные типы задаются исходя из возможностей сервера.
Поддержка технологии SSI
Технология SSI Server Side Includes
Позволяет создавать документы методом сборки из отдельных файлов и исполняемых
программ перед отправкой их клиенту. Этот дополнительный тип передачи данных
устанавливается атрибутом
Content-Type: text/x-server-parsed-html
Тип файла по умолчанию
.shtml (
.sht для MS Windows)
AddHandler server-parsed .shtml
или
Content-Type: text/x-server-parsed-html3
Тип файла по умолчанию
.shtml3
для отработки команд Server Side Includes, которые определены в стандарте языка
HTML 3.0.
Передача запросов и ответов к активным программам
Если активная программа (CGI Script)
расположена не в директории CGI_BIN, то запрос к ней сопровождается атрибутом
Content-Type: application/x-httpd-cgi
Тип файла по умолчанию
.cgi
задается командой
AddHandler cgi-script .cgi
Передача запросов и ответов к активным картинкам
Обработка запросов к активным картинкам может производится как клиентом
(Client Side Image Map), так и
сервером (Server Side Image Map)
Запрос (если сервер понимает эти запросы) на обработку данных сервером сопровождается
атрибутом
Content-Type: application/x-type-map
или
Content-Type: application/x-httpd-imap
В зависимости от типа передачи информации.
Федотов А.М.
Введение в Internet