Какой тип MIME лучше всего использовать при отправке данных, структурированных с помощью YAML, через HTTP?
Было бы очень полезно объяснить, почему данный выбор является наиболее подходящим.
Я не вижу зарегистрированного типа приложения или текстового типа .
Пример:
> GET /example.yaml
< Content-Type: ????
<
< --- # Favorite movies
< - Casablanca
< - North by Northwest
< - Notorious
Возможные варианты:
text/yaml
text/x-yaml
application/yaml
application/x-yaml
http
mime
mime-types
yaml
Джон Крам
источник
источник
text/
, должны обрабатываться как ISO-8859-1, если явно не объявлен другой тип MIME (например,text/html; charset=utf-8
). Типыapplication/
MIME , начинающиеся с , обрабатываются как UTF-8, если явно не объявлен другой тип MIME. Например,text/x-yaml
пока нельзя использовать символы UTF-8,text/x-yaml; charset=utf-8
аapplication/x-yaml
можно. IIRC, это определено в RFC 3023.text/*
без явногоcharset=
параметра предполагается ISO-8859-1, ноapplication/*
это не обязательно текст. (RFC, на который вы ссылаетесь, касается XML, не знаю, насколько он актуален.)If a "charset" parameter is specified, it SHOULD be a required parameter, eliminating the options of specifying a default value. If there is a strong reason for the parameter to be optional despite this advice, each subtype MAY specify its own default value, or alternatively, it MAY specify that there is no default value. Finally, the "UTF-8" charset [RFC3629] SHOULD be selected as the default.
. Формального определенияtext/yaml
ни нетtext/x-yaml
, поэтому по умолчанию используется UTF-8.US-ASCII
(примечание: неISO-8859-1
) дляtext/*
типов носителей в RFC 2046 устарела,Regardless of what approach is chosen, all new text/* registrations MUST clearly specify how the charset is determined; relying on the US-ASCII default defined in Section 4.1.2 of [RFC2046] is no longer permitted.
в tools.ietf.org/html/rfc6838#section-4.2.1 в январе 2013 г. Ни RFC 3023 , ни RFC 7303 говорят ничего общего оtext/*
НАСКОЛЬКО МНЕ ИЗВЕСТНО.UTF-8
оно используется по умолчанию для каждогоtext/*
типа носителя, который не указывает что-то другое в своей регистрации IANA.Хотя был принят другой ответ, обратитесь к этой Предложенной регистрации типа носителя для ветки YAML в списке рассылки IANA, чтобы просмотреть Тип носителя, в котором Бен Харрис из Информационной службы Кембриджского университета предложил в июле 2015 года от имени группы YAML тип носителя. :
с (предлагаемыми) устаревшими псевдонимами:
Это все еще предлагается / ожидает рассмотрения (ветка не указывает статус предложения), поэтому этот ответ не более окончательный, чем другие :-)
источник
Я бы сказал text / x-yaml:
текст поверх приложения, потому что он удобочитаемый
x-yaml вместо yaml, потому что он не был принят в зарегистрированный список типов mime.
Изменить: из RFC 3023 (типы носителей XML):
Интересно ... Не совсем понимаю, что это значит, но пища для размышлений.
источник
application/yaml
, как мы могли бы сказатьapplication/json
иapplicaiton/xml
.Типы носителей "x-" не приветствуются, см. RFC 4288, раздел 3.4 . Правильнее всего будет использовать личное дерево, дерево поставщиков или действительно попытаться правильно зарегистрировать тип носителя.
источник
application/vnd.yaml
илиtext/vnd.yaml
(текст кажется лучше)x.
.vnd.
иprs.
требуют регистрации. См. Tools.ietf.org/html/rfc6838#section-3.2 и tools.ietf.org/html/rfc6838#section-3.3 .В Chrome
application/yaml
загрузится, покаtext/yaml
будет отображаться.источник
Согласно списку типов MIME это
text/yaml
, хотя его нет в официальном списке MIME IANAисточник