Inhalte komprimieren

Bei Bedarf komprimiert der Webserver zunächst die ausgelieferten Inhalte und sendet sie dann in dieser kompakteren Form an den Anfragenden. Der Browser entpackt die Inhalte vor dem Anzeigen. Ziel bei diesem Vorgehen ist, möglichst wenig Daten vom Server zum Endgerät zu übertragen. Der Vorteil liegt darin, dass derzeit etwa 90 Prozent aller Webbrowser komprimierte Inhalte verstehen und diese im laufenden Betrieb entpacken.

Die Rechenleistung der beteiligten Geräte gibt diese Umstellung heute oft problemlos her. Das Aktivieren der entsprechenden Apache-Module nehmen Sie über das Kommando a2enmod vor. Zur Verfügung stehen zwei unterschiedliche Verfahren – einerseits ein echtes Komprimieren der Inhalte über das Apache-Modul mod_deflate [14] und andererseits das Übermitteln bereinigter Inhalte mittels mod_tidy [15]. Beide Module fungieren dabei als Filter für die Ausgabe.

Dabei lohnt es sich, nur die textbasierten Formate zu berücksichtigen, wie HTML, CSS, Javascript, XML und JSON. Bilder und andere Binärdaten liegen oft bereits komprimiert vor – hier würde der zusätzliche Schritt zum Komprimieren nur Rechenzeit vergeuden. Welche Formate mod_deflate konkret berücksichtigt, legen Sie in der Datei /etc/apache2/mods-available/deflate.conf fest (Listing 6). Das Benennen der Formate entspricht der üblichen Schreibweise gemäß dem MIME-Standard.

Listing 6

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

Das Modul mod_tidy hingegen entfernt vor dem Ausliefern an den Browser aus den Daten alle Kommentare, Leerzeilen und Umbrüche. Das betrifft selbst Copyright-Informationen und Angaben zu Lizenzen, die als Kommentare hinterlegt sind. Damit geht verloren, ob und vor allem wie Sie es anderen erlauben, die vom Webserver bezogenen Codeschnipsel weiter zu verwenden.

Eine hübsche Struktur des Dokuments ist nur für Sie als Autoren und Entwickler wichtig – den Webbrowser interessiert sie nicht. Er interpretiert lediglich den an ihn übermittelten Datenstrom. Die durch den Einsatz des Moduls erzielten Einsparungen im übertragenen Datenvolumen variieren stark und lagen in Tests um die 10 bis 25 Prozent.

In eine ähnliche Richtung – jedoch deutlich drastischer – geht RabbIT [16]. Dahinter verbirgt sich ein Caching Proxy, der ebenfalls Inhalte von Webseiten filtert. Gleichzeitig komprimiert er ausgewählte Inhalte wie Text und Bilder. Daneben beherrscht er noch das Herausfiltern von Werbung sowie von Hintergrundbildern.

RabbIT steht derzeit nicht als Debian-Paket bereit, sondern lediglich als Quellcode. Da die Entwickler dabei auf die Programmiersprache Java setzen, sollte die Software weitestgehend problemlos auf den einzelnen Distributionen ihren Dienst verrichten. Achten Sie dabei darauf, dass die verwendete Java Virtual Machine (JVM) für einen entsprechenden Durchsatz optimiert ist. Als Referenzwert bietet sich ein Vielfaches der Garbage Collection an.

SPDY oder HTTP/2

Helfen die zwischengeschalteten Filter nicht mehr, dann verbessert unter Umständen der Wechsel des verwendeten Protokolls zum Übertragen der Daten die Reaktionszeit. Im Januar 2015 wurde das Protokoll HTTP/2 als Nachfolger von HTTP 1.1 offiziell freigegeben [17]. Dabei übernahmen Mozilla, Google und die Google-Ausgründung Twist die Führung.

In das Konzept von HTTP/2 flossen die Erfahrungen aus dem SPDY-Protokoll mit ein, mit dem Google zwischenzeitlich versucht hatte, die Übertragung zu optimieren [18]. Dabei empfiehlt die Spezifikation, jede Verbindung mittels TLS zu verschlüsseln. Ob das tatsächlich die Sicherheit erhöht, darf man bislang bezweifeln, da HTTP/2 noch nicht so ausgereift wirkt wie seine Vorgänger [19]. Derzeit kommt HTTP/2 bereits bei Google Chrome, Firefox ab Version 35 und Internet Explorer (bereits aktiviert) zum Einsatz. Für die Webserver Apache und Nginx stehen passende Module zur Erweiterung bereit, um die Kommunikation von der Seite des Servers zu vereinfachen.

Diverse Tests zeigen, dass HTTP/2 schneller agiert als SPDY, obwohl die Antworten oft größer ausfallen. Das liegt daran, dass parallele Verbindungen zum Einsatz kommen (mehrere UDP-Verbindungen über eine einzige TCP-Verbindung) und andererseits die verwendete HPACK-Kompression kleinere GET-Requests erzeugt [20].

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Broadcom Adapter 802.11n nachinstallieren
Thomas Mengel, 31.10.2017 20:06, 2 Antworten
Hallo, kann man nachträglich auf einer Liveversion, MX Linux auf einem USB-Stick, nachträglich...
RUN fsck Manually / Stromausfall
Arno Krug, 29.10.2017 12:51, 1 Antworten
Hallo, nach Absturz des Rechners aufgrund fehlendem Stroms startet Linux nicht mehr wie gewohn...
source.list öffnet sich nicht
sebastian reimann, 27.10.2017 09:32, 2 Antworten
hallo Zusammen Ich habe das problem Das ich meine source.list nicht öffnen kann weiß vlt jemman...
Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 6 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...