Правильный тип носителя MIME для файлов PDF
при работе с PDF-файлами я столкнулся с типами MIME application/pdf и application/x-pdf среди других.
есть ли разница между этими двумя типами, и если да, что это? Один предпочтительнее другого?
Я работаю над веб-приложением, которое должно доставлять огромное количество PDF-файлов, и я хочу сделать это правильно, если он есть.
3 ответов:
стандартный тип MIME
application/pdf. Назначение определяется в RFC 3778, приложение / pdf тип носителя, на которые ссылается MIME Media Types registry.типы MIME контролируются органом стандартов, Интернет Назначил Номера Власти (IANA). Это та же организация, которая управляет корневыми серверами имен и пространством IP-адресов.
использование
x-pdfпредшествует стандартизации MIME тип для PDF. Типы MIME вx-пространства имен считаются экспериментальными, так же как и вvnd.пространства имен считаются зависящими от поставщика.x-pdfможет использоваться для совместимости со старым программным обеспечением.
Это соглашение, определенное в RFC 2045-многофункциональные расширения интернет-почты (MIME) Часть первая: формат тел интернет-сообщений.
частная [подтип] значения (начиная с "X-") могут быть определены на двусторонней основе между двух взаимодействующих агентов без вне регистрации или стандартизации. Эти ценности не может быть зарегистрирован или стандартизирован.
новые стандартные значения должны быть зарегистрирован в IANA, как описано в RFC 2048.
аналогичное ограничение применяется к типу верхнего уровня. Из того же источника,
Если по какой-либо причине должен использоваться другой тип верхнего уровня, он должен быть дали имя, начинающееся с "X -", чтобы указать его нестандартный статус и чтобы избежать потенциального конфликта с будущим официальным названием.
(обратите внимание, что в RFC 2045, " [m]atching СМИ тип и подтип всегда нечувствительны к регистру", поэтому нет никакой разницы между интерпретацией "X -" и " x -".)
поэтому справедливо предположить, что" application/x-foo "использовался до того, как IANA определила"application/foo". И он все еще может использоваться людьми, которые не знают о назначении токена IANA.
Как сказал Крис Хэнсон, типы MIME контролируются IANA. Это подробно описано в RFC 2048-многофункциональные расширения интернет-почты (MIME) Часть четвертая: Процедуры Регистрации. Согласно RFC 3778, которая составляет цитируется IANA как определение для "application / pdf",
тип носителя application / pdf был впервые зарегистрирован в 1993 году Полом Линднером для использования протоколом gopher; регистрация была впоследствии обновлена в 1994 году Стивом Зиллсом.
тип "приложение / pdf" существует уже более десяти лет. Так что мне кажется, что где бы то ни было "application / x-pdf" был использован в новых приложениях, решение, возможно, не было преднамеренным.
из Википедии тип СМИ,
тип носителя состоит из типа, подтипа и необязательно параметры. Например, HTML-файл может быть обозначен как text / html; charset=UTF-8.
тип носителя состоит из имени типа верхнего уровня и имени подтипа, которое является далее структурируются в так называемые"деревья".
top-level type name / subtype name [ ; parameters ] top-level type name / [ tree. ] subtype name [ +suffix ] [ ; parameters ]все типы носителей должны быть зарегистрированы с использованием процедур регистрации IANA. В настоящее время следующее создаются деревья:
standard,vendor,personalилиvanityнезарегистрированныйx.стандартные:
типы носителей в дереве стандартов не используют фасет дерева (префикс).
type / media type name [+suffix]примеры: "application / xhtml+xml","image/png"
продавец:
дерево поставщиков используется для типов носителей, связанных с общедоступными товары. Он использует
vnd.грань.type / vnd. media type name [+suffix] - used in the case of well-known producer type / vnd. producer's name followed by media type name [+suffix] - producer's name must be approved by IANA type / vnd. producer's name followed by product's name [+suffix] - producer's name must be approved by IANAличное или тщеславие дерево:
личные или тщеславие дерево включает в себя типы носителей, созданных экспериментально или в составе продукции, которая не распространяется в коммерческих целях. Он использует
prs.аспект.type / prs. media type name [+suffix]незарегистрированное x. tree:
дерево "x." может использоваться для типов носителей, предназначенных исключительно для использования в частных, локальных средах и только при активном согласии стороны обмениваются ими. Типы в этом дереве не могут быть зарегистрированы.
согласно предыдущей версии RFC 6838-устаревший RFC 2048 (опубликовано в ноябре 1996 года) это должно быть редко, если когда-либо, необходимо использовать незарегистрированные экспериментальные типы, и как таковое использование обоих "x-" и" Х " формы обескураживает. Предыдущие версии этого RFC - RFC 1590 и RFC 1521 заявили, что использование обозначения" x - " для имя подтипа может использоваться для незарегистрированных и частных подтипов, но эта рекомендация была отменена в ноябре 1996 года.
type / x. media type name [+suffix]так что ясно, что стандартный тип MIME type
application/pdfявляется подходящим для использования в то время как вы должны избегать использования устаревших и незарегистрированныхx-тип носителя, как указано в RFC 2048 и RFC 6838.
Comments