Welchen MIME-Typ haben .php-Dateien?
Der MIME-Typ (Medientyp) für PHP-Skript-Dateien mit der Endung .php lautet application/x-httpd-php. PHP-Dateien sollten vom Server ausgeführt und niemals als normale Datei ausgeliefert werden. Lädt ein Browser deinen PHP-Code herunter, ist der PHP-Handler nicht konfiguriert – ein Sicherheitsproblem, denn der Quellcode (und darin enthaltene Passwörter) liegt dann offen.
Content-Type-Header
Content-Type: application/x-httpd-php
Serverkonfiguration
| Server | Konfiguration |
|---|---|
Nginx (mime.types oder 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') oder res.setHeader('Content-Type', 'application/x-httpd-php') |
| Amazon S3 | Setze Content-Type: application/x-httpd-php am Objekt (Metadaten) oder übergib --content-type application/x-httpd-php an aws s3 cp |
Sollten .php-Dateien komprimiert werden?
Ja. PHP-Skript sind unkomprimierte Daten, daher spart gzip oder Brotli für application/x-httpd-php meist 50–80 % der Übertragungsgröße. Achte darauf, dass die Kompressionsliste deines Servers diesen Typ enthält – prüfe das mit dem Website-Kompressionstest.
Warum der MIME-Typ wichtig ist
Browser entscheiden anhand des Content-Type-Headers – nicht anhand der Dateiendung – was mit einer Antwort passiert: anzeigen, ausführen, abspielen oder herunterladen. Bei X-Content-Type-Options: nosniff führt ein falscher Typ dazu, dass Stylesheets und Skripte komplett blockiert werden. Bei Uploads solltest du dem vom Client gesendeten Typ nie vertrauen; prüfe stattdessen den Inhalt der Datei (ihre Magic Bytes) auf dem Server.
MIME-Typ-Suche
Durchsuche alle gängigen Dateiendungen und MIME-Typen, mit sofort kopierbaren Content-Type-Headern.
Häufige Fragen
Welcher MIME-Typ gilt für .php?
application/x-httpd-php.Wie setze ich den Content-Type für .php in Nginx?
application/x-httpd-php php; im Block types steht (meist in /etc/nginx/mime.types), und lade Nginx danach neu.