Was ist eine SVGZ-Datei?
Eine SVGZ-Datei ist ein mit gzip komprimiertes SVG-Dokument, dessen ursprüngliche Vektorstruktur nach dem Dekomprimieren erhalten bleibt. Sie benötigt in der Regel weniger Speicherplatz oder Übertragungsbandbreite als die entsprechende unkomprimierte SVG-Datei.
So funktionieren SVGZ-Dateien
SVGZ komprimiert einen SVG-XML-Bytestrom mit gzip, statt neue Zeichenprimitive oder ein separates Grafikmodell zu definieren. Die verarbeitende Software muss die Nutzdaten dekomprimieren, bevor sie dieselben Elemente, Stile, Referenzen und aktiven Funktionen parst, die auch gewöhnliches SVG enthält. Die Kompression ist bei sich wiederholendem textbasiertem Markup besonders wirksam, allerdings kann HTTP auch eine nicht mit gzip verpackte SVG-Datei während der Übertragung komprimieren. SVGZ findet sich daher hauptsächlich in älteren Austauschverfahren oder gespeicherten Archiven, bei denen der Dateiname selbst die Kompression kennzeichnet.
Wichtige Fakten
- Das Umbenennen einer SVGZ-Datei in
.svgdekomprimiert sie nicht; die Software muss die gzip-Verpackung anhand des Formats, der Dateizuordnung oder der Auslieferungsmetadaten erkennen, bevor das XML-Parsing beginnt. - Die Auslieferung einer bereits komprimierten SVGZ-Datei kann fehleranfällig sein, weil manche Software-Stacks sie als komprimierten Dateityp behandeln und andere als SVG mit
Content-Encoding: gzip. Dadurch kann die Dekomprimierung ausbleiben oder doppelt erfolgen. - Kompression neutralisiert das SVG-Verhalten nicht: Skripte, externe Referenzen und Links im zugrunde liegenden Dokument bleiben nach dem Dekomprimieren der Nutzdaten sicherheitsrelevant.
Wann SVGZ-Dateien relevant sind
Akzeptieren Sie SVGZ nur, wenn der ausliefernde Software-Stack und die verarbeitende Software die Kompression und den Umgang mit dem Medientyp des Formats erkennen. Eine falsche Inhaltskodierung oder eine falsche Dateizuordnung kann verhindern, dass ansonsten gültige Grafiken dargestellt werden.