¿Cuál es el tipo MIME más apropiado para usar al enviar datos estructurados con YAML a través de HTTP?
Se agradecería mucho una explicación de por qué una opción determinada es la más apropiada.
No hay ningún tipo de aplicación registrado o tipo de texto que pueda ver.
Ejemplo:
> GET /example.yaml
< Content-Type: ????
<
< --- # Favorite movies
< - Casablanca
< - North by Northwest
< - Notorious
Posibles opciones:
text/yaml
text/x-yaml
application/yaml
application/x-yaml
http
mime
mime-types
yaml
Jon Cram
fuente
fuente
text/
deben procesarse como ISO-8859-1 a menos que se declare explícitamente otro tipo de mímica (por ejemplotext/html; charset=utf-8
). Los tipos deapplication/
mime que comienzan con se procesan como UTF-8 a menos que se declare explícitamente otro tipo de mime. Por ejemplo,text/x-yaml
no puede usar caracteres UTF-8 mientrastext/x-yaml; charset=utf-8
yapplication/x-yaml
puede. IIRC, esto se define en RFC 3023.text/*
, sin uncharset=
parámetro explícito , se presume que es ISO-8859-1, pero las cosas enapplication/*
no son necesariamente texto. (El RFC que vinculó es sobre XML, no estoy seguro de cómo es 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.
. No existe una definición formal detext/yaml
nitext/x-yaml
, por lo que el valor predeterminado es UTF-8.US-ASCII
(nota: noISO-8859-1
) paratext/*
los tipos de medios en RFC 2046 ha quedado 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.
en tools.ietf.org/html/rfc6838#section-4.2.1 en enero de 2013. Ni RFC 3023 ni RFC 7303 dicen nada genérico sobretext/*
HASTA DONDE SE.UTF-8
es el valor predeterminado para cadatext/*
tipo de medio que no indica algo diferente en su registro de IANA.Aunque se aceptó otra respuesta, consulte este Registro de tipo de medio propuesto para el hilo YAML en la lista de correo de la IANA para revisar el Tipo de medio en el que Ben Harris, Servicios de Información de la Universidad de Cambridge, propuso en julio de 2015 en nombre del equipo de YAML el tipo de medio :
con alias (sugeridos) obsoletos:
Eso todavía está propuesto / pendiente (el hilo no indica el estado de la propuesta) por lo que esta respuesta no es más definitiva que las otras :-)
fuente
Yo diría text / x-yaml:
texto sobre aplicación porque es legible por humanos
x-yaml sobre yaml porque no se ha aceptado en la lista registrada de tipos de mime.
Editar: de RFC 3023 (Tipos de medios XML):
Interesante ... No estoy exactamente seguro de lo que significa, pero hay que pensar.
fuente
application/yaml
, como podríamos decirapplication/json
yapplicaiton/xml
.Se desaconsejan los tipos de medios "x-", consulte RFC 4288, Sección 3.4 . Lo correcto es utilizar el árbol personal, el árbol de proveedores o intentar realmente un registro de tipo de medio adecuado.
fuente
application/vnd.yaml
otext/vnd.yaml
(el texto parece mejor)x.
.vnd.
yprs.
requiere registro. Consulte tools.ietf.org/html/rfc6838#section-3.2 y tools.ietf.org/html/rfc6838#section-3.3 .De acuerdo con los tipos MIME lista que es
text/yaml
, a pesar de que no está en oficial de la lista de IANA MIMEfuente
En Chrome
application/yaml
se descargará, mientras quetext/yaml
se mostrará.fuente