Media типы и подтипы (MIME-Types)
Указание 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-типы, а также суффиксы имен файлов, распознаваемые большинством серверов. Большинство серверов можно легко настроить так, чтобы они распознавали и другие суффиксы.
Тип/Подтип | Обычное расширение |
---|---|
application/activemessage | |
application/andrew-inset | |
application/applefile | |
application/atomicrnail | |
application/cals-l840 | |
application/commonground | |
application/cybercash | |
application/dca-rft | |
application/dec-dx | |
application/eshop | |
application/iges | |
application/mac-binhex40 | |
application/macwriteii | |
application/mathematica | |
application/msword | |
application/news-message-id | |
application/news-transmission | |
application/octet-stream | bin |
application/oda | oda |
application/pdf | |
application/postscript | ai, eps, ps |
application/remote-printing | |
application/riscos | |
application/rtf | rtf |
application/sgml | |
application/slate | |
application/vnd.framemaker | |
application/vnd.koan | |
application/vnd.mif | |
application/vnd.ms-artgalry | |
application/vnd.ms-excel | |
application/vnd.ms-powerpoint | |
application/vnd.ms-project | |
application/vnd.ms-tnef | |
application/vnd.ms-works | |
application/vnd.music-niff | |
application/vnd.svd | |
application/vnd.truedoc | |
application/wita | |
application/wordperfect5.1 | |
application/x-bcpio | bcpio |
application/x-cpio | cpio |
application/x-csh | csh |
application/x-dvi | dvi |
application/x-gtar | gtar |
application/x-hdf | hdf |
application/x-latex | latex |
applicatlon/x-mif | mif |
application/x-netcdf | nc, cdf |
application/x-sh | sh |
application/x-shar | shar |
application/x-sv4cpio | sv4cpio |
application/x-sv4crc | sv4crc |
application/x-tar | tar |
application/x-tcl | tcl |
application/x-tex | tex |
application/x-texinfo | texinfo, texi |
application/x-troff-man | man |
application/x-troff-me | me |
application/x-troff-ms | ms |
applicatlon/x-troff | t, tr, roff |
application/x-ustar | ustar |
application/x-wais-source | src |
application/x400-bp | |
application/zip | zip |
application/32kadpcm | |
application/basic | au, snd |
application/x-aiff | aif, aiff, aifc |
application/x-wav | wav |
image/cgm | |
image/g3fax | |
image/gif | gif |
image/ief | ief |
image/jpeg | jpeg, jpg, jpe |
image/naplps | |
image/tiff | tiff, tif |
image/vnd.dwg | |
image/vnd.dxf | |
image/vnd.svf | |
image/x-cmu-raster | ras |
image/x-portable-anymap | rpnm |
image/x-portable-bitmap | pbm |
image/x-portable-graymap | pgm |
image/x-portable-pixmap | ppm |
image/x-rgb | rgb |
image/x-xbitmap | xbm |
imaqe/x-xpixrnap | xpm |
image/x-xwindowdump | xwd |
message/external-body | |
message/http | |
message/news | |
message/partial | |
messacie/rfc822 | |
multipart/alternative | |
multipart/appledouble | |
multipart/digest | |
multipart/form-data | |
multipart/header-set | |
multipart/mixed | |
multipart/parallel | |
multipart/related | |
multipart/report | |
multipart/voice-message | |
text/enriched | |
text/html | html, htm |
text/plain | txt |
text/richtext | rtx |
text/sgml | |
text/tab-separated-values | tsv |
text/x-setext | etx |
video/mpeg | mpeg, mpg, mpe |
video/quicktime | qt, mov |
video/vnd.vivo | |
video/x-msvideo | qvi |
video/x-sgi-movie | movie |