Wie man ASP.Net Webseiten komprimiert


Thomas Wölfer
Thomas Wölfer

08. Juli 2006


Webseiten komprimiert auszuliefern macht Sinn: Die Seiten werden erheblich schneller transportiert weil sie in komprimierter Form deutlich kleiner sind. Beim IIS6 ist das komprimieren obendrein extrem einfach, denn man muss eigentlich nur eine die Option zum komprimieren bei den Eigenschaften der Site einschalten. Dabei gibt es zwei Optionen, eine für statische Seiten und eine zweite für dynamische Seiten.

Der Unterschied besteht in der Serverlast, die das komprimieren erzeugt: Die statischen Seiten werden bei der ersten Anforderung komprimiert und bleiben dann in einem Cache, müssen also nur einmal komprimiert werden. Dynamische Seiten werden bei der Anforderung komprimiert - machen also mehr Last. Ich hielt das bei www.die.de trotzdem für vertretbar, und habe beide Optionen eingeschaltet.

Was mich dann wunderte: Nach dem einschalten der Komprimierung stellte sich beim test mit Fiddler heraus, das weiterhin nicht komprimierte Seiten ausgeliefert wurden, obwohl der IE bei der Anforderung angab, mit komprimierten Inhalten klarzukommen.

Dafür gibt es einen einfachen Grund: Der IIS hat einen Satz an Dateierweiterungen für Dateien, die bei Anforderung komprimiert werden können. Schaltet man die Optionen zum komprimieren ein, dann werden HTML und ASP Seiten komprimiert - aber ASPX Seiten von ASP.Net eben nicht. Wenn man das möchte, dann muss man manuell in die Metabase eingreifen. Wenn man das erst einmal weiss, dann ist die Lösung einfach - und hier Schritt für Schritt erklärt. Dabei bitte beachten: Wenn man der Erklärung folgt, dann werden danach ASP.Net Seiten zwar komprimiert ausgeliefert - dafür läuft aber der  eventuell zuvor laufende SMTP Dienst nicht mehr: Den muss man bei Bedarf wieder händisch starten.