Правильный тип мультимедиа для файлов PDF
При работе с PDF я сталкивался с типами MIME application/pdf
а также application/x-pdf
среди других.
Есть ли разница между этими двумя типами, и если да, то что это? Один предпочтительнее другого?
Я работаю над веб-приложением, которое должно доставлять огромное количество PDF-файлов, и я хочу сделать это правильно, если оно есть.
3 ответа
Стандартный тип 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.