2008-12-01 4 views
74

Каков наиболее подходящий тип MIME для отправки данных, структурированных с помощью YAML через HTTP?YAML mime type?

Объяснение Почему данный выбор является наиболее подходящим, будет очень признателен.

Не зарегистрировано application type или text type, что я вижу.

Пример:

> GET /example.yaml 

< Content-Type: ???? 
< 
< --- # Favorite movies 
< - Casablanca 
< - North by Northwest 
< - Notorious 

Возможные варианты:

text/yaml 
text/x-yaml 
application/yaml 
application/x-yaml 

ответ

42

Рубин на рельсы использует приложение/X-YAML с альтернативой текста/YAML (source).

Я думаю, что это просто вопрос конвенции, нет технические почему, afaict.

+0

Weird, google для «yaml mime» дает рубиновую ссылку в качестве первого удара, с текстом/x-yaml и без мужчин приложение application/x-yaml – Greg 2008-12-01 20:53:40

+51

Это не _quite_ true.Типы Mime, начинающиеся с `text /`, должны обрабатываться как ISO-8859-1, если явно не объявлен другой тип mime (например, `text/html; charset = utf-8`). Типы Mime, начинающиеся с `application /`, обрабатываются как UTF-8, если явно не объявлен другой тип mime. Например, `text/x-yaml` не может использовать символы UTF-8, в то время как` text/x-yaml; charset = utf-8` и `application/x-yaml`. IIRC, это определено в RFC 3023. – 2011-10-13 21:16:11

+0

@ Ryan: Спасибо, отличная информация. Это относится к YAML? Это не XML ... – 2011-10-14 13:38:43

14

Я бы сказал, что текст/х-YAML:

текста поверх приложения, потому что это люди-читаемого

х-YAML над YAML, потому что он не был принят в зарегистрированном список типов пантомимы ,

Edit: из RFC 3023 (Типы XML Media):

от типа носителя верхнего уровня "текст" имеет некоторые ограничения на MIME лиц , и они описаны в [RFC2045] и [RFC2046 ]. В частности, недопустимым является UTF-16, UCS-4 и UTF-32: (кроме HTTP [RFC2616], который использует MIME-подобный механизм ).

Интересно ... Не совсем уверен, что это значит, но пища для размышлений.

-10

Я знаю, что это уродливо, но используйте текст/plain, если вы хотите отобразить его в браузере и правильно отформатировать. Все вышеперечисленное по умолчанию будет загружаться в IE или Firefox.

5

«x-» типы носителей обескуражены, см. RFC 4288, Section 3.4. Правильная вещь - использовать персональное дерево, дерево поставщика или фактически попытаться правильно зарегистрировать тип носителя.

11

Хотя еще один ответ был принят, пожалуйста, обратитесь к этой Proposed media type registration for YAML нити в списке рассылки IANA для обзора Типа носителя, в котором Бен Харрис, Кембриджский университета информационных службы, предложенных в июле 2015 года от имени команды YAML СМИ Тип: text/vnd.yaml с (рекомендуется) осуждаемых псевдонимами: text/yaml text/x-yaml application/x-yaml это еще предложено/в ожидании (поток не указывает на статус предложения), так что этот ответ не более точно, чем другие :-)