Указание 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
Документация по Интернет технологиям
Начало создания курса: Mondy, 19-Aug-1996 10:12:15 NOVST
Дата последней модификации: Monday, 08-May-2000 19:45:28 NOVST
© 1996 - 2003, А.М.Федотов
© 1996 - 2003, Институт вычислительных технологий СО РАН, Новосибирск