Welchen MIME-Typ haben .xml-Dateien?
Der MIME-Typ (Medientyp) für XML-Dokument-Dateien mit der Endung .xml lautet application/xml. Du siehst eventuell auch text/xml. text/xml ist ebenfalls weit verbreitet. Bei application/xml wird die Kodierung aus der XML-Deklaration übernommen, statt standardmäßig US-ASCII anzunehmen.
Content-Type-Header
Content-Type: application/xml; charset=utf-8
Textbasierte Typen sollten ein charset enthalten, damit der Browser die Zeichen korrekt dekodiert.
Server-Konfiguration
| Server | Konfiguration |
|---|---|
Nginx (mime.types oder types {}) | application/xml xml; |
Apache (.htaccess) | AddType application/xml .xml |
IIS (web.config) | <mimeMap fileExtension=".xml" mimeType="application/xml" /> |
| Node.js / Express | res.type('xml') oder res.setHeader('Content-Type', 'application/xml; charset=utf-8') |
| Amazon S3 | Setze Content-Type: application/xml am Objekt (Metadaten) oder übergib --content-type application/xml an aws s3 cp |
Sollten .xml-Dateien komprimiert werden?
Ja. XML-Dokumente sind Text, daher spart das Aktivieren von gzip oder Brotli für application/xml typischerweise 50–80 % der Übertragungsgröße. Stelle sicher, 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 der Dateiendung –, ob eine Antwort dargestellt, ausgeführt, abgespielt oder heruntergeladen wird. 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, sondern den Inhalt der Datei (ihre Magic Bytes) auf dem Server prüfen.
MIME-Typ nachschlagen
Durchsuche alle gängigen Dateiendungen und MIME-Typen, inklusive kopierfertiger Content-Type-Header.
Häufige Fragen
Welcher MIME-Typ gilt für .xml?
application/xml. In der Praxis begegnet dir auch text/xml.Wie setze ich den Content-Type für .xml in Nginx?
application/xml xml; im Block types steht (meist in /etc/nginx/mime.types), und lade Nginx neu.