Aide-mémoire Web et HTTP

Aide-mémoire des types MIME

Les types MIME des pages web, données, images, audio, vidéo, polices et archives, avec les règles à l'origine des erreurs de type et la vérification des fichiers envoyés.

Dernière vérification:

AdSense Placeholder
Slot: header_reference_page
Sur cette page

Un type MIME (ou type de média) nomme le format d'un contenu sous la forme type/sous-type, comme image/png. Les serveurs web l'envoient dans l'en-tête Content-Type pour que le navigateur sache s'il doit afficher une page, lire une vidéo ou proposer un téléchargement. Consultez n'importe quelle extension avec le Recherche de Type MIME.

Types courants

Type Extensions Utilisation
text/html .html .htm Pages web
text/css .css Feuilles de style
text/javascript .js .mjs JavaScript (le type standard actuel)
application/json .json Données JSON et réponses d'API
application/xml .xml Documents XML
text/plain .txt Texte brut
text/csv .csv Tableaux séparés par des virgules
text/markdown .md Texte Markdown
application/pdf .pdf Documents PDF
application/zip .zip Archives ZIP
application/gzip .gz Données compressées gzip
application/wasm .wasm Modules WebAssembly (à servir avec ce type pour la compilation en flux)
image/png .png Images PNG
image/jpeg .jpg .jpeg Photos JPEG
image/gif .gif Images et animations GIF
image/webp .webp Images WebP
image/svg+xml .svg Graphiques vectoriels SVG
audio/mpeg .mp3 Audio MP3
audio/wav .wav Audio WAV
video/mp4 .mp4 Vidéo MP4
video/webm .webm Vidéo WebM
font/woff2 .woff2 Polices web (WOFF2)

Règles à retenir

  • Des données binaires inconnues sont application/octet-stream. Les navigateurs proposent en général de les télécharger plutôt que de les ouvrir.
  • Les formulaires utilisent application/x-www-form-urlencoded par défaut et multipart/form-data quand un fichier est joint.
  • Les types texte portent souvent un jeu de caractères, comme dans text/html; charset=utf-8. Envoyez toujours de l'UTF-8 pour le texte (UTF-8).
  • Les types structurés se terminent par +json ou +xml quand ce sont des versions spécialisées de ces formats, comme image/svg+xml ou application/ld+json.
  • Les types propriétaires et expérimentaux commencent par vnd. (par exemple application/vnd.ms-excel) ou x-.

Problèmes courants

  • Une page s'affiche en texte brut. Le serveur a envoyé text/plain au lieu de text/html.
  • Un script ou un module ne s'exécute pas. Les navigateurs refusent les modules JavaScript et les scripts à MIME strict servis avec un mauvais type comme text/html ou application/octet-stream.
  • Une police ou un fichier WebAssembly ne se charge pas. Les serveurs qui ne connaissent pas .woff2 ou .wasm peuvent envoyer un type générique.
  • Détection de type (sniffing). Les navigateurs devinent parfois le type d'après le contenu. Envoyez X-Content-Type-Options: nosniff pour qu'ils se fient à votre Content-Type.

Vérifier les envois de fichiers

Ne vous fiez jamais à l'extension d'un fichier envoyé ni au Content-Type fourni par le client : les deux sont choisis par l'expéditeur. Vérifiez plutôt les premiers octets du fichier par rapport à la signature attendue (voir Les signatures de fichier (octets magiques) expliquées) et servez les fichiers envoyés depuis un domaine séparé avec nosniff.

Essayez ces outils

Voir aussi

  • Glossaire Type MIME
    Un type MIME (type de média) nomme le format d'un contenu sous la forme type/sous-type, comme text/html ou image/png.
  • Glossaire UTF-8
    L'UTF-8 est l'encodage Unicode dominant : il écrit chaque caractère sur un à quatre octets et reste identique à l'ASCII pour les 128.
  • Guide Les signatures de fichier (octets magiques) expliquées
    Comment les premiers octets d'un fichier révèlent son vrai type.
  • Aide-mémoire Aide-mémoire des en-têtes HTTP
    En-têtes de requête et de réponse, directives Cache-Control, en-têtes de sécurité, attributs de cookie et en-têtes CORS.
AdSense Placeholder
Slot: footer_leaderboard