Тип носителя - Media type

Тип мультимедиа (ранее известный как тип MIME ) - это идентификатор, состоящий из двух частей, для форматов файлов и форматного содержимого, передаваемого в Интернете . Управление по присвоению номеров в Интернете (IANA) является официальным органом по стандартизации и публикации этих классификаций. Типы носителей были первоначально определены в Запросе на комментарии RFC  2045 (MIME) Часть первая: Формат тел сообщений в Интернете (ноябрь 1996 г.) в ноябре 1996 г. как часть спецификации MIME (Многоцелевые расширения электронной почты) для обозначения типа содержимого сообщения электронной почты и вложения; отсюда и первоначальное название, MIME-тип . Типы мультимедиа также используются другими интернет-протоколами, такими как HTTP, и форматами файлов документов, такими как HTML , для аналогичных целей.

Именование

Тип мультимедиа состоит из типа и подтипа , который далее структурируется в виде дерева . Тип носителя может дополнительно определять суффикс и параметры :

type "/" [tree "."] subtype ["+" suffix]* [";" parameter]

По состоянию на ноябрь 1996 года, зарегистрированных типов были: application, audio, image, message, multipart, textи video. К декабрю 2020 года, зарегистрированных типов включены вышеизложенное, а также font, exampleи model.

Часто используется неофициальное имя верхнего уровня chemical.

В качестве примера можно указать HTML-файл text/html; charset=UTF-8. В этом примере textэто тип, htmlэто подтип и charset=UTF-8необязательный параметр, указывающий кодировку символов.

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

Типы, подтипы и имена параметров не чувствительны к регистру. Значения параметров обычно чувствительны к регистру, но могут интерпретироваться без учета регистра в зависимости от предполагаемого использования.

Общие примеры

  • application/x-executable
  • application/graphql
  • application/javascript
  • application/json
  • application/ld+json
  • application/feed+json
  • application/msword (.doc)
  • application/pdf
  • application/sql
  • application/vnd.api+json
  • application/vnd.ms-excel (.xls)
  • application/vnd.ms-powerpoint (.ppt)
  • application/vnd.oasis.opendocument.text (.odt)
  • application/vnd.openxmlformats-officedocument.presentationml.presentation (.pptx)
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (.xlsx)
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document (.docx)
  • application/x-www-form-urlencoded
  • application/xml
  • application/zip
  • application/zstd (.zst)
  • application/macbinary (.bin)
  • audio/mpeg
  • audio/ogg
  • image/apng
  • image/avif
  • image/flif
  • image/gif
  • image/jpeg (.jpg, .jpeg, .jfif, .pjpeg, .pjp)
  • image/jxl
  • image/png
  • image/svg+xml (.svg)
  • image/webp
  • image/x-mng
  • multipart/form-data
  • text/css
  • text/csv
  • text/html
  • text/php
  • text/plain
  • text/xml

Деревья регистрации

Все типы носителей должны быть зарегистрированы с использованием процедур регистрации IANA. Для эффективности и гибкости процесса регистрации типа носителя в деревьях регистрации могут быть зарегистрированы различные структуры подтипов, которые различаются использованием префиксов дерева. В настоящее время созданы следующие деревья: стандартные (без префикса), вендорные ( vnd.префиксы), личные или тщеславные ( prs.префиксы), незарегистрированные ( x.префиксы). Эти деревья регистрации были впервые определены в ноябре 1996 г. (устаревший RFC 2048 - в настоящее время RFC 6838). Новые деревья регистрации могут быть созданы IETF Standards Action для внешней регистрации и управления известными постоянными организациями (например, научными обществами).

Дерево стандартов

В дереве стандартов не используются префиксы дерева:

type "/" subtype ["+" suffix] *[";" parameter]

Примеры: application/javascript, image/png.

Регистрации в дереве стандартов должны быть либо связаны со спецификациями IETF, утвержденными непосредственно IESG, либо зарегистрированы признанной IANA организацией, связанной со стандартами.

Дерево поставщиков

Дерево поставщиков включает типы носителей, связанные с общедоступными продуктами. Он использует vnd.префикс дерева:

type "/" "vnd." subtype ["+" suffix] *[";" parameter]

Примеры: application/vnd.ms-excel, application/vnd.oasis.opendocument.text.

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

Личное или дерево тщеславия

Личное дерево или дерево тщеславия включает типы мультимедиа, связанные с не общедоступными продуктами или экспериментальными типами мультимедиа. Он использует prs.префикс дерева:

type "/" "prs." subtype ["+" suffix] *[";" parameter]

Примеры: audio/prs.sid, image/prs.btif.

Незарегистрированное дерево

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

type "/" "x." subtype ["+" suffix] *[";" parameter]

Примеры: application/x.foo, video/x.bar.

Типы медиа в этом дереве не могут быть зарегистрированы. Согласно RFC 6838 (опубликованному в январе 2013 г.) любое использование типов в незарегистрированном дереве категорически не рекомендуется. Кроме того, подтипы с префиксом x-или X-больше не считаются членами этого дерева.

Согласно Снятые с RFC 2048 (опубликован в ноябре 1996 года) -это следует редко, если когда - либо, необходимо использовать незарегистрированные типы, и такое использование любого x., x-или X-префиксов не рекомендуется. В устаревшем RFC 1590 (опубликованном в сентябре 1993 г.) говорилось, что использование префикса x-или X-может использоваться для незарегистрированных подтипов.

Типы носителей, которые были широко распространены (с подтипом с префиксом x-или X-) без регистрации, следует, если возможно, перерегистрировать с использованием надлежащего подтипа с префиксом. Если это невозможно, тип носителя может быть зарегистрирован в дереве стандартов после утверждения как рецензентом типов носителей, так и IESG с его подтипом без префикса.

Суффикс

Суффикс - это расширение определения типа мультимедиа, чтобы дополнительно указать базовую структуру этого типа мультимедиа, что позволяет выполнять универсальную обработку на основе этой структуры и независимо от конкретной семантики конкретного типа. Типы носителей, которые используют именованный структурированный синтаксис, должны использовать соответствующий IANA, зарегистрированный "+"suffixдля этого структурированного синтаксиса, когда они зарегистрированы. Незарегистрированные суффиксы использовать нельзя (с января 2013 г.). Процедуры регистрации суффиксов структурированного синтаксиса определены в RFC 6838.

+xmlСуффикс был определен с января 2001 года (RFC 3023), и был официально включен в первоначальное содержание Structured Синтаксис суффикса реестра вместе с +json, +ber, +der, +fastinfoset, +wbxml, и +zipв январе 2013 года (RFC 6839). Последующие дополнения включают +gzip, +cbor, +json-seqи +cbor-seq.

Mailcap

Mailcap (производный от словосочетания «возможность работы с электронной почтой») - это тип метафайла, используемый для настройки того, как приложения с поддержкой MIME, такие как почтовые клиенты и веб-браузеры, отображают файлы различных типов MIME. Формат mailcap определен в RFC 1524 «Механизм настройки агента пользователя для информации о формате мультимедийной почты», но не определен в качестве стандарта Интернета. Он поддерживается большинством систем Unix.

Строки могут быть комментариями, начинающимися с символа #, или mime-типом, за которым следует, как обращаться с этим mime-типом.

Mime.types

Связанным файлом является файл mime.types , который связывает расширения файлов с типом MIME . Если тип MIME установлен правильно, в этом нет необходимости, но типы MIME могут быть установлены неправильно или установлены на общий тип, такой как application/octet-stream, и mime.types позволяет в этих случаях прибегать к расширению. Точно так же, поскольку многие файловые системы не хранят информацию о типе MIME, а вместо этого полагаются на расширение имени файла, файл mime.types часто используется веб-серверами для определения типа MIME.

При просмотре файла они работают вместе следующим образом: mime.typesсвязывает расширение с типом MIME, а mailcapтип MIME - с программой.

В системах типа UNIX файл mime.types обычно располагается по адресу и / или, и формат таков, что каждая строка представляет собой разделенный пробелами список типа MIME, за которым следует ноль или более расширений. Например, тип HTML можно связать с расширениями и следующей строкой: /etc/mime.types$HOME/.mime.types.htm.html

text/html     htm   html

Использование Netscape

Файл mime.types относится к Netscape , где он использовал другой формат; он использовал пары ключ-значение и список расширений, разделенных запятыми, вместе со стандартным заголовком, состоящим из определенного комментария, который идентифицирует файл как файл mime.types, как показано ниже.

#--Netscape Communications Corporation MIME Information
# Do not delete the above line. It is used to identify the file type.

type=text/html exts=htm,html

Смотрите также

использованная литература

внешние ссылки