text/plain
Type MIME du texte brut non formaté. Le contenu est affiché tel quel par le navigateur, sans interprétation HTML ou autre.
Description
text/plain désigne du texte non formaté, sans balisage ni structure particulière. Quand un navigateur reçoit une réponse avec ce type MIME, il affiche le contenu textuel brut dans une police monospace, sans interpréter d’éventuelles balises HTML. C’est le type MIME de sécurité par défaut pour les contenus textuels inconnus.
Usage en HTML
Lien vers un fichier texte :
<a href="/changelog.txt" type="text/plain">Voir le journal des modifications</a>
Dans un <link> pour des ressources préchargées :
<link rel="preload" href="/robots.txt" as="fetch" type="text/plain">
Zone de saisie texte brut uniquement :
<div contenteditable="plaintext-only" aria-multiline="true" role="textbox">
Saisie en texte brut
</div>
Notes
Protection contre le XSS : servir du contenu généré par l’utilisateur avec text/plain plutôt que text/html empêche l’exécution de code HTML/JavaScript injecté. C’est une mesure de sécurité importante.
robots.txt et humans.txt : ces fichiers standards sont toujours servis en text/plain.
Encodage : sans paramètre charset, les anciens navigateurs peuvent deviner l’encodage. Toujours spécifier Content-Type: text/plain; charset=UTF-8 pour les contenus avec des caractères non-ASCII.
text/plain pour les API de debug : souvent utilisé pour des endpoints de diagnostic ou de health check retournant OK ou une réponse simple.