Quel est le type MIME des fichiers .php ?
Le type MIME (type de média) des fichiers de script PHP portant l’extension .php est application/x-httpd-php. Les fichiers PHP doivent être exécutés par le serveur, et jamais servis tels quels. Si un navigateur télécharge votre code PHP, c’est que le gestionnaire PHP n’est pas configuré : il s’agit d’un problème de sécurité, car le code source (et les mots de passe qu’il contient éventuellement) est alors exposé.
En-tête Content-Type
Content-Type: application/x-httpd-php
Configuration du serveur
| Serveur | Configuration |
|---|---|
Nginx (mime.types ou types {}) | application/x-httpd-php php; |
Apache (.htaccess) | AddType application/x-httpd-php .php |
IIS (web.config) | <mimeMap fileExtension=".php" mimeType="application/x-httpd-php" /> |
| Node.js / Express | res.type('php') ou res.setHeader('Content-Type', 'application/x-httpd-php') |
| Amazon S3 | Définissez Content-Type: application/x-httpd-php sur l’objet (métadonnées), ou transmettez --content-type application/x-httpd-php à aws s3 cp |
Faut-il compresser les fichiers .php ?
Oui. Un script PHP est un contenu non compressé : activer gzip ou Brotli pour application/x-httpd-php permet généralement de réduire la taille transférée de 50 à 80 %. Vérifiez que la liste de compression de votre serveur inclut bien ce type, en le testant avec le test de compression de site web.
Pourquoi le type MIME est important
Les navigateurs décident de ce qu’il faut faire d’une réponse (l’afficher, l’exécuter, la lire ou la télécharger) à partir de l’en-tête Content-Type, et non de l’extension du fichier. Avec X-Content-Type-Options: nosniff, un type erroné entraîne le blocage pur et simple des feuilles de style et des scripts. Pour les envois de fichiers, ne faites jamais confiance au type transmis par le client : vérifiez plutôt le contenu du fichier (ses octets magiques) côté serveur.
Recherche de types MIME
Recherchez toutes les extensions de fichiers et tous les types MIME courants, avec des en-têtes Content-Type prêts à copier.
Questions fréquentes
Quel est le type MIME de .php ?
application/x-httpd-php.Comment définir le Content-Type de .php dans Nginx ?
application/x-httpd-php php; figure dans le bloc types (généralement dans /etc/nginx/mime.types), puis rechargez Nginx.