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-urlencodedpar défaut etmultipart/form-dataquand 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
+jsonou+xmlquand ce sont des versions spécialisées de ces formats, commeimage/svg+xmlouapplication/ld+json. - Les types propriétaires et expérimentaux commencent par
vnd.(par exempleapplication/vnd.ms-excel) oux-.
Problèmes courants
- Une page s'affiche en texte brut. Le serveur a envoyé
text/plainau lieu detext/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/htmlouapplication/octet-stream. - Une police ou un fichier WebAssembly ne se charge pas. Les serveurs qui ne connaissent pas
.woff2ou.wasmpeuvent 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: nosniffpour qu'ils se fient à votreContent-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.