165 votes

Type de média YAML?

Quel est le type de média le plus approprié (formellement MIME type) à utiliser lors de l'envoi de données structurées avec YAML sur HTTP et pourquoi ?

Il n'y a aucun type d'application enregistré .il n'existe aucun type d'application ou type de texte que je puisse voir.

Exemple:

> GET /example.yaml

< Content-Type: ????
<
< --- # Films préférés
< - Casablanca
< - La mort aux trousses
< - Notorious

Options possibles:

  • text/x-yaml
  • text/yaml
  • text/yml
  • application/x-yaml
  • application/x-yml
  • application/yaml
  • application/yml

0 votes

Il y a maintenant. rfc-editor.org/rfc/rfc9512.html

10voto

Julian Reschke Points 12698

Les types de médias "x-" sont déconseillés, consultez RFC 4288, Section 3.4. La bonne pratique est d'utiliser l'arborescence personnelle, l'arborescence du fournisseur, ou d'essayer réellement d'enregistrer correctement un type de média.

0 votes

Donc ce serait application/vnd.yaml ou text/vnd.yaml (texte semble mieux)

5 votes

Pas tout à fait vrai non plus. Le seul arbre de sous-types destiné à être utilisé sans enregistrement auprès de l'IANA est x.. vnd. et prs. nécessitent un enregistrement. Voir tools.ietf.org/html/rfc6838#section-3.2 et tools.ietf.org/html/rfc6838#section-3.3 .

2voto

Byebye Points 439

Je ne suis pas sûr de poster ceci comme réponse ou comme commentaire à une autre réponse. (Je le poste comme réponse distincte car c'est plutôt long.) Cependant, je me posais la même question et j'ai consulté la liste de l'IANA.

Il y a actuellement (13-05-2023) une entrée de projet pour enregistrer YAML dans la liste de l'IANA. L'enregistrer sous le type mime :

application/yaml

Cependant, cela n'a pas encore été ajouté et je ne sais pas combien de temps va durer le reste du processus.

État du projet 06 IANA :

État d'examen IANA :
  Version modifiée - Examen nécessaire

État d'examen par expert IANA :
  Besoin d'expert(s) IANA

Où : Examen nécessaire, signifie : Le document n'a pas encore été examiné par l'IANA. [ état-examen ]

Mise à jour (06-06-2023)

L'état d'examen du projet 07 a changé en :

État d'examen IANA               IANA OK - Actions nécessaires
État d'action IANA               En cours
État d'examen par expert IANA    Examens d'experts OK

IANA OK - Actions nécessaires, signifie : Le document nécessite des actions de l'IANA, et la section des considérations de l'IANA indique correctement les détails des actions. et, En cours signifie : L'IANA traite actuellement les actions pour ce document et, Examens d'experts OK signifie : Tous les examens d'experts ont été terminés sans problème bloquant.

Mise à jour (30-01-2024)

Actuellement en version de projet 10, ne se déplaçant pas aussi rapidement que je m'y attendais, croisons les doigts pour un enregistrement en 2024.

Mise à jour (19-03-2024)

Comme mentionné par d'autres :

Le projet est maintenant passé à la RFC officielle. Voir https://datatracker.ietf.org/doc/rfc9512/

1voto

Max Starling Points 598

J'ai lu cela après une conversation similaire vraiment intéressante sur le type MIME pour le format de fichier TOML.

application/* vs text/*

D'après le RFC (https://tools.ietf.org/html/rfc2046#section-3)

D'autres sous-types sont à utiliser pour du texte enrichi dans des formulaires où des logiciels d'application peuvent améliorer l'apparence du texte, mais de tels logiciels ne doivent pas être nécessaires pour obtenir une idée générale du contenu. Les sous-types possibles de "texte" incluent ainsi tout format de traitement de texte qui peut être lu sans recourir à un logiciel qui comprend le format.

D'après le commentaire https://github.com/toml-lang/toml/issues/465#issuecomment-306231107

Sur cette base, je pense que les sous-types de texte sont destinés à être utilisés plus pour du texte non structuré (mais éventuellement formaté), tandis que l'application semble être plus appropriée pour les données structurées, comme TOML. Bien que TOML mette l'accent sur la lisibilité humaine, il s'agit quand même principalement d'un format de données, destiné à être lu par des applications. Par contraste, un fichier markdown (text/markdown) transmet son sens complet sans être traité davantage par une application, tandis que les fichiers TOML sont généralement dénués de sens en dehors du contexte de l'application qu'ils configurent.

Nous pouvons dire la même chose du format YAML, donc personnellement je préférerais application/*.

Un autre argument en faveur de application/* est que YAML est un sur-ensemble de JSON et le type MIME application/json est utilisé pour JSON.

application/yaml vs application/x-yaml

À moins que le type MIME ait officiellement été enregistré (en supposant que quelqu'un prévoit même de le faire), application/x-* doit être utilisé.

Comme YAML (ainsi que TOML) n'est pas officiellement enregistré, il est préférable d'utiliser le préfixe x- donc nous avons application/x-yaml comme résultat.

Fait intéressant : les docs officiels de TOML suggèrent d'utiliser application/toml même si ce n'est pas encore officiel. Mais tout le monde ne pense pas que ce soit une bonne décision.

Postman utilise application/x-yaml

Juste une autre raison d'utiliser ce type MIME :) Postman utilise application/x-yaml

0voto

user109396 Points 11

Maintenant nous avons RFC 9512:

Ce document enregistre le type de média application/yaml et le suffixe de syntaxe structurée `+yaml avec l'IANA. Tous deux identifient des composants de document qui sont sérialisés selon la spécification YAML.

-1voto

The Godfather Points 898

Conformément à la liste des types MIME, il s'agit du text/yaml, même s'il n'est pas officiellement répertorié dans la liste MIME de l'IANA

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X