Qu'est-ce que l'en-tête HTTP Content-Type ?
C'est l'en-tête qui décrit la nature du corps du message HTTP: type MIME, encodage de caractères, et paramètres associés.
Les éléments principaux à connaître :
1 Types MIME fondamentaux
Définissent le format du contenu envoyé ou reçu.
2 Paramètres de Content-Type
Affinent la description du contenu.
3 Formats de soumission côté client
Impactent la manière dont le serveur interprète le corps.
4 Cas techniques et subtilités
Points à surveiller en production :
Problèmes classiques
415 Unsupported Media Type
Le serveur attend application/json mais reçoit text/plain ou form-urlencoded.
JSON servi en text/html
Les clients ne parsers pas, res.json() échoue et les navigateurs proposent un téléchargement.
Charset manquant ou incorrect
Accents cassés: text/html sans charset ou charset=iso-8859-1 non souhaité.
multipart/form-data mal formé
Paramètre boundary absent ou invalide; les fichiers ne sont pas parsés.
Exemple de problème courant :
Symptômes qui doivent vous alerter
🚨 Signaux d'alarme
Comment les détecter
✨ Solution recommandée : Vérificateur Content-Type
Un analyseur dédié affiche les en-têtes de vos requêtes/réponses, détecte les types incohérents, souligne les charsets manquants et les boundary invalides. Il met en évidence les divergences entre le corps et l'en-tête pour éviter les surprises.
✅ Détection automatique
MIME, charset, nosniff, erreurs 415/406
📊 Analyse complète
Vérification du corps vs Content-Type, suggestions de correction
🧹 Correction rapide
Modèles d'en-têtes prêts à l'emploi pour API et assets
💾 Export des requêtes
Snippets cURL/HTTPie corrects
Autres méthodes de détection
Outils du navigateur (DevTools)
En ligne de commande (Unix)
En code
JavaScript
method: 'POST',
headers: { 'Content-Type': 'application/json; charset=utf-8' },
body: JSON.stringify({ name: 'Ada' })
}).then(r => r.headers.get('Content-Type'))
Python
r = requests.post('https://api.exemple.com/users', json={'name': 'Ada'})
r.headers.get('Content-Type')
PHP
echo json_encode(['status' => 'ok']);
Configurer correctement et prévenir
🚀 Mise en conformité rapide
Avant d'écrire des correctifs partout, vérifiez et mettez en place des en-têtes Content-Type adaptés à chaque route et chaque fichier statique.
Méthodes techniques avancées
🔧 Déclarer précisément
🧹 Valider
⚙️ Automatiser
Checklist rapide
Conclusion
Content-Type pilote l'interprétation de vos requêtes et réponses. Un seul en-tête mal déclaré suffit à casser une intégration.
Déclarez clairement le type, ajoutez le charset quand nécessaire et automatisez les vérifications pour éviter les erreurs coûteuses.
Vérifiez vos en-têtes Content-Type maintenant
Utilisez un outil pour inspecter, valider et corriger Content-Type, charset et paramètres associés.
Analyser mes en-têtes