Was ist der MIME-Typ von .svg-Dateien?
Der MIME-Typ (Medientyp) für SVG-Bilder mit der Endung .svg lautet image/svg+xml. SVG ist Text, daher lässt sich die Datei mit gzip/Brotli gut verkleinern. SVG-Dateien, die Nutzer hochladen, solltest du nicht von deiner Hauptdomain ausliefern, denn SVG kann Skripte enthalten. Verwende besser eine separate Domain oder bereinige die Uploads.
Content-Type-Header
Content-Type: image/svg+xml; charset=utf-8
Textbasierte Typen sollten einen charset enthalten, damit der Browser die Zeichen korrekt dekodiert.
Serverkonfiguration
| Server | Konfiguration |
|---|---|
Nginx (mime.types oder types {}) | image/svg+xml svg; |
Apache (.htaccess) | AddType image/svg+xml .svg |
IIS (web.config) | <mimeMap fileExtension=".svg" mimeType="image/svg+xml" /> |
| Node.js / Express | res.type('svg') oder res.setHeader('Content-Type', 'image/svg+xml; charset=utf-8') |
| Amazon S3 | Setze Content-Type: image/svg+xml am Objekt (Metadaten) oder übergib --content-type image/svg+xml an aws s3 cp |
Sollten .svg-Dateien komprimiert werden?
Ja. SVG-Bilder bestehen aus Text, daher spart die Aktivierung von gzip oder Brotli für image/svg+xml meist 50–80 % der übertragenen Datenmenge. Stell sicher, dass die Komprimierungsliste deines Servers diesen Typ enthält. Prüfe das mit dem Website-Komprimierungstest.
Warum der MIME-Typ wichtig ist
Browser entscheiden anhand des Content-Type-Headers und nicht anhand der Dateiendung, ob eine Antwort angezeigt, 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, mit sofort kopierbaren Content-Type-Headern.
Häufige Fragen
Welcher MIME-Typ gilt für .svg?
image/svg+xml.Wie setze ich den Content-Type für .svg in Nginx?
image/svg+xml svg; im Block types steht (meist in /etc/nginx/mime.types), und lade Nginx danach neu.