Правильный тип носителя MIME для PDF-файлов

при работе с PDF-файлами я сталкивался с типами MIME application/pdf и application/x-pdf среди других.

есть ли разница между этими двумя типами, и если да, что это? Одно предпочтительнее другого?

Я работаю над веб-приложением, которое должно доставить огромное количество PDF-файлов, и я хочу сделать это правильно, если он есть.

3 ответов


стандартный тип MIME application/pdf. Назначение определяется в RFC 3778, тип носителя application/pdf, на которые ссылается MIME типы носителей реестра.

типы MIME контролируются органом стандартов,Интернет Присвоенные Номера Орган (IANA). Это та же организация, которая управляет корневыми серверами имен и пространством IP-адресов.

использование x-pdf предшествует стандартизации MIME тип для PDF. Типы MIME в x- пространство имен считается экспериментальным, как и в vnd. пространство имен считаются поставщика. x-pdf может использоваться для совместимости со старым программным обеспечением.


Это соглашение, определенное в RFC 2045-Multipurpose Internet Mail Extensions (MIME) Часть первая: формат тел интернет-сообщений.

  1. частная [подтип] значения (начиная с "X-") могут быть определены двусторонние отношения между двумя сотрудничающими агентами без вне регистрации или стандартизации. Эти ценности не могут быть зарегистрированы или стандартизированы.

  2. новые стандартные значения должны быть зарегистрирован в IANA, как описано в RFC 2048.

аналогичное ограничение применяется к типу верхнего уровня. Из того же источника,

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

(обратите внимание, что в RFC 2045, " [m]atching средств массовой информации тип и подтип всегда нечувствительны к регистру", поэтому нет никакой разницы между интерпретацией "X -" и " x -".)

поэтому справедливо предположить, что" application/x-foo "использовался до того, как IANA определила"application/foo". И он все еще может использоваться людьми, которые не знают о назначении токенов IANA.

Как сказал Крис Хансон, типы мимов контролируются IANA. Это подробно описано в RFC 2048-Multipurpose Internet Mail Extensions (MIME) Часть четвертая: Процедуры Регистрации. Согласно RFC 3778, которая составляет цитируется по IANA как определение для "приложения / pdf",

тип носителя application/pdf был впервые зарегистрирован в 1993 году Полом Линднером для использования протоколом gopher; регистрация была впоследствии обновлена в 1994 году Стивом Зиллом.

тип "application / pdf" существует уже более десяти лет. Поэтому мне кажется, что где бы "application / x-pdf" был использован в новых приложениях, решение, возможно, не было преднамеренным.


из Википедии Media type,

тип носителя состоит из типа, подтипа и необязательного параметры. Например, файл 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

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

Personal или Vanity tree включает типы носителей, созданные экспериментально или в составе продукции, которая не распространяется на коммерческой основе. Он использует prs. аспект.

type / prs. media type name [+suffix]

незарегистрированный x. дерево:

дерево "x" может использоваться для типов носителей, предназначенных исключительно для использования в частных, местных условиях и только с активного согласия стороны обмениваются ими. Типы в этом дереве не могут быть зарегистрированы.

в соответствии с предыдущей версией RFC 6838-устаревший RFC 2048 (опубликовано в ноябре 1996 года) это должно быть редко, если когда-либо, необходимо использовать незарегистрированные экспериментальные типы, и как таковое использование обоих " x-" и" x". формы обескуражены. Предыдущие версии этого RFC-RFC 1590 и RFC 1521 заявили, что использование обозначения" x - " для имя подтипа может использоваться для незарегистрированных и частных подтипов, но эта рекомендация была отменена в ноябре 1996 года.

type / x. media type name [+suffix]

так ясно, что стандартный тип mime type application/pdf является подходящим для использования, в то время как вы должны избегать использования устаревших и незарегистрированных x- тип носителя, как указано в RFC 2048 и RFC 6838.