При работе с PDF я сталкивался с типами MIME application/pdf
и application/x-pdf
другими.
Есть ли разница между этими двумя типами, и если да, то что это? Один предпочтительнее другого?
Я работаю над веб-приложением, которое должно доставлять огромное количество PDF-файлов, и я хочу сделать это правильно, если оно есть.
Стандартный тип MIME application/pdf
. Назначение определено в RFC 3778, Тип носителя application / pdf , на который ссылается реестр MIME Media Types .
Типы 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 году Стивом Зиллесом.
Тип "application / pdf" существует уже более десяти лет. Поэтому мне кажется, что где бы «приложение / x-pdf» не использовалось в новых приложениях, решение, возможно, не было преднамеренным.
Из Википедии Тип СМИ,
Тип мультимедиа состоит из типа, подтипа и необязательных параметров. Например, файл HTML может быть обозначен как text / html; кодировка = 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]
Незарегистрированный х. дерево:
«Х» Дерево может использоваться для типов носителей, предназначенных исключительно для использования в частных, локальных средах и только при активном согласии сторон, обменивающихся ими. Типы в этом дереве не могут быть зарегистрированы.
В соответствии с предыдущей версией RFC 6838 - устаревший RFC 2048 (опубликованный в ноябре 1996 года) редко, если вообще необходимо, использовать незарегистрированные экспериментальные типы, и в качестве таковых использовать как «x-», так и «x». формы не рекомендуется . В предыдущих версиях этого RFC - RFC 1590 и RFC 1521 указывалось, что использование нотации "x-" для имени подтипа может использоваться для незарегистрированных и частных подтипов, но эта рекомендация была отменена в ноябре 1996 года.
type / x. media type name [+suffix]
Таким образом, ясно, что стандартный тип MIME application/pdf
является подходящим для использования, в то время как вам следует избегать использования устаревших и незарегистрированных x-
типов носителей, как указано в RFC 2048 и RFC 6838 .
application/pdf
тип должен использоваться - если вам не нужно быть совместимым с действительно старым программным обеспечением, не используйтеx-pdf
...