Jaki jest najbardziej odpowiedni typ MIME do użycia podczas wysyłania danych strukturalnych z YAML przez HTTP?
Bardzo mile widziane byłoby wyjaśnienie, dlaczego dany wybór jest najbardziej odpowiedni.
Nie widzę żadnego zarejestrowanego typu aplikacji ani typu tekstu .
Przykład:
> GET /example.yaml
< Content-Type: ????
<
< --- # Favorite movies
< - Casablanca
< - North by Northwest
< - Notorious
Możliwe opcje:
text/yaml
text/x-yaml
application/yaml
application/x-yaml
http
mime
mime-types
yaml
Jon Cram
źródło
źródło
text/
mają być przetwarzane jako ISO-8859-1, chyba że jawnie zadeklarowano inny typ MIME (nptext/html; charset=utf-8
.). Typy MIME rozpoczynające się odapplication/
są przetwarzane jako UTF-8, chyba że jawnie zadeklarowano inny typ MIME. Na przykładtext/x-yaml
nie można używać znaków UTF-8 podczastext/x-yaml; charset=utf-8
iapplication/x-yaml
można. IIRC, jest to zdefiniowane w RFC 3023.text/*
, bez wyraźnegocharset=
parametru zakłada się, że jest to ISO-8859-1, ale rzeczyapplication/*
nie muszą być tekstem. (Podlinkowany dokument RFC dotyczy języka XML, nie wiem, jak jest on istotny.)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.
. Nie ma formalnej definicjitext/yaml
nortext/x-yaml
, więc domyślnym jest UTF-8.US-ASCII
(uwaga: nieISO-8859-1
) dlatext/*
typów mediów w RFC 2046 została przestarzałaRegardless 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.
w tools.ietf.org/html/rfc6838#section-4.2.1 w styczniu 2013 r. Ani RFC 3023 ani RFC 7303 nie mówią nic ogólnego na temattext/*
AFAIK.UTF-8
jest domyślna dla każdegotext/*
typu mediów, który nie stwierdza czegoś innego w swojej rejestracji IANA.Chociaż inna odpowiedź została zaakceptowana, proszę odnieść się do tej Proponowanej rejestracji typu mediów dla wątku YAML na liście mailingowej IANA w celu przejrzenia typu mediów, w którym Ben Harris z University of Cambridge Information Services zaproponował w lipcu 2015 r. W imieniu zespołu YAML rodzaj mediów :
z (sugerowanymi) przestarzałymi aliasami:
To jest nadal proponowane / oczekujące (wątek nie wskazuje statusu wniosku), więc ta odpowiedź nie jest bardziej ostateczna niż pozostałe :-)
źródło
Powiedziałbym tekst / x-yaml:
tekst na aplikacji, ponieważ jest czytelny dla człowieka
x-yaml zamiast yaml, ponieważ nie został zaakceptowany na zarejestrowanej liście typów MIME.
Edycja: z RFC 3023 (XML Media Types):
Ciekawe ... Nie do końca wiem, co to znaczy, ale do przemyślenia.
źródło
application/yaml
, tak jak moglibyśmy powiedziećapplication/json
iapplicaiton/xml
.Nośniki typu „x-” są odradzane, zobacz RFC 4288, sekcja 3.4 . Właściwe jest użycie drzewa osobistego, drzewa dostawców lub faktycznie próba zarejestrowania odpowiedniego typu nośnika.
źródło
application/vnd.yaml
albotext/vnd.yaml
(tekst wydaje się lepszy)x.
.vnd.
iprs.
wymagają rejestracji. Zobacz tools.ietf.org/html/rfc6838#section-3.2 i tools.ietf.org/html/rfc6838#section-3.3 .W Chrome
application/yaml
pobierze się, atext/yaml
wyświetli się.źródło
Zgodnie z typami MIME notować to
text/yaml
, mimo że nie ma w oficjalnym liście IANA MIMEźródło