Qual é o tipo MIME mais apropriado para usar ao enviar dados estruturados com YAML sobre HTTP?
Uma explicação de por que uma determinada escolha é mais apropriada seria muito apreciada.
Não há nenhum tipo de aplicativo registrado ou tipo de texto que eu consiga ver.
Exemplo:
> GET /example.yaml
< Content-Type: ????
<
< --- # Favorite movies
< - Casablanca
< - North by Northwest
< - Notorious
Opções possíveis:
text/yaml
text/x-yaml
application/yaml
application/x-yaml
http
mime
mime-types
yaml
Jon Cram
fonte
fonte
text/
devem ser processados como ISO-8859-1, a menos que outro tipo MIME seja declarado explicitamente (por exemplotext/html; charset=utf-8
). Os tipos MIME que começam comapplication/
são processados como UTF-8, a menos que outro tipo Mime seja declarado explicitamente. Por exemplo,text/x-yaml
não pode usar caracteres UTF-8 enquantotext/x-yaml; charset=utf-8
eapplication/x-yaml
pode. IIRC, isso é definido no RFC 3023.text/*
, sem umcharset=
parâmetro explícito, presume-se que seja ISO-8859-1, mas as coisasapplication/*
não são necessariamente texto. (O RFC que você vinculou é sobre XML, não tenho certeza de como ele é relevante.)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.
. Não há definição formal detext/yaml
nemtext/x-yaml
, então o padrão é UTF-8.US-ASCII
(nota: nãoISO-8859-1
) paratext/*
tipos de mídia no RFC 2046 tornou-se obsoletaRegardless 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.
em tools.ietf.org/html/rfc6838#section-4.2.1 em janeiro de 2013. Nem o RFC 3023 nem o RFC 7303 dizem nada genérico sobretext/*
ATÉ ONDE SEI.UTF-8
é o padrão para cadatext/*
tipo de mídia que não declara algo diferente em seu registro IANA.Embora outra resposta tenha sido aceita, consulte esta Proposta de registro de tipo de mídia para discussão YAML na lista de e-mails da IANA para revisão do tipo de mídia em que Ben Harris, da University of Cambridge Information Services, propôs em julho de 2015 em nome da equipe YAML o tipo de mídia :
com aliases obsoletos (sugeridos):
Isso ainda está proposto / pendente (o tópico não indica o status da proposta), portanto, esta resposta não é mais definitiva do que as outras :-)
fonte
Eu diria text / x-yaml:
texto sobre a aplicação porque é legível por humanos
x-yaml sobre yaml porque não foi aceito na lista registrada de tipos MIME.
Editar: de RFC 3023 (Tipos de mídia XML):
Interessante ... Não tenho certeza do que significa, mas alimento para reflexão.
fonte
application/yaml
, assim como poderíamos dizerapplication/json
eapplicaiton/xml
.Tipos de mídia "x-" não são recomendados, consulte RFC 4288, Seção 3.4 . A coisa certa a fazer é usar a árvore pessoal, a árvore do fornecedor ou realmente tentar um registro de tipo de mídia adequado.
fonte
application/vnd.yaml
outext/vnd.yaml
(o texto parece melhor)x.
.vnd.
eprs.
requer registro. Consulte tools.ietf.org/html/rfc6838#section-3.2 e tools.ietf.org/html/rfc6838#section-3.3 .No Chrome
application/yaml
irá baixar, enquantotext/yaml
será exibido.fonte
Como por tipos MIME listar é
text/yaml
, mesmo que ele não está no oficial lista IANA MIMEfonte