Seite 1 von 1

Webseiten Komprimierung: Welche Methode?

Verfasst: 02.01.2009, 13:28
von 2.9
Beschäftige mich gerade etwas mit dem Thema Webseitenkomprimierung und habe 2 verschiedene Möglichkeiten gefunden um eine Webseite zu komprimieren.

per PHP zu Beginn eines PHP-Dokuments mit diesem Aufruf:

Code: Alles auswählen

ob_start( 'ob_gzhandler' );
oder die Komprimierung per .htaccess zu aktivieren
php_flag zlib.output_compression On

Beides zusammen funktioniert anscheinend nicht.

Meine Frage ist wo sind die Unterschiede? Habe gelesen, dass die htaccess Methode wohl die häufigere sei.

Wenn ich die Webseite dann mit Yslow teste scheint Yslow keine der beiden Komprimierungsmethoden zu erkenn. Obwohl omprimiert wird.

Verfasst:
von

Verfasst: 02.01.2009, 14:50
von net(t)worker
die Art der Kompression dürfte in beiden Fällen identisch sein.... und es wird nur kompremmiert, wenn der Client mitteilt das er es verstehen kann....

Verfasst: 02.01.2009, 15:25
von 2.9
sicher, ich hab den subjektiven Eindruck, dass die Handlermethode besser funzt bzw. schneller wirkt, aber da kann ich mich jetzt auch täuschen. In Artikel hab ich aber gelesen, dass die .htaccess Methode empfohlen wird. Warum stand allerdings nicht dabei.

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Re: Webseiten Komprimierung: Welche Methode?

Verfasst: 03.01.2009, 11:15
von Mork vom Ork
2.9 hat geschrieben:Beschäftige mich gerade etwas mit dem Thema Webseitenkomprimierung und habe 2 verschiedene Möglichkeiten gefunden um eine Webseite zu komprimieren.
Um es vorweg zu nehmen: Du hast die beste übersehen.
per PHP zu Beginn eines PHP-Dokuments mit diesem Aufruf:
ob_start( 'ob_gzhandler' );

oder die Komprimierung per .htaccess zu aktivieren
php_flag zlib.output_compression On

Beides zusammen funktioniert anscheinend nicht.

Meine Frage ist wo sind die Unterschiede?
Es sind nur unterschiedliche Wege, das Gleiche einzuschalten. Der zweite ist sicher bequemer, weil man nicht im Quellcode sämtlicher Seiten rumfuhrwerken muss, und ich meine mich zu erinneren, dass der erste in früheren PHP-Versionen irgendwie kaputt war, aber ansonsten tut sich das nix. Insbesondere ist die Komprimierung in beiden Fällen gleich, und in jedem Falle funktioniert das nur mit PHP.
Habe gelesen, dass die htaccess Methode wohl die häufigere sei.
Ja, aber ich möchte behaupten, nicht die, die du oben beschrieben hast. Wenn per .htaccess die HTTP-Komprimierung eingeschaltet wird, dann üblicherweise die, die bereits im Apache-Webserver in Form von mod_deflate eingebaut ist. mod_deflate wird von Haus aus beim Apache 2 mitgeliefert, du brauchst lediglich die Zeile AddOutputFilterByType DEFLATE text/html text/plain text/xml in die oberste .htaccess einfügen, dann werden alle besagten Textarten vor der Übertragung komprimiert, egal ob sie von PHP ausgegeben werden, von SSI zusammengestückelt oder als reine Datei vorliegen. Die PHP-interne Komprimierung ist überflüssig.

Du solltest allerdings vorher prüfen, ob dein Server die Komprimierung nicht eh schon aktiviert hat (siehe unten); es ist sinnlos, sie zweimal zu aktivieren.
Wenn ich die Webseite dann mit Yslow teste scheint Yslow keine der beiden Komprimierungsmethoden zu erkenn. Obwohl omprimiert wird.
Yslow kenne ich nicht, aber für die Komprimierung des HTTP-Verkehrs braucht es immer zwei: Den Server und den Client. Wenn Yslow nicht meldet, dass es Komprimierung unterstützt, wird der Server auch keine komprimierten Daten senden. Darüber hinaus ist zu beachten, dass die beiden Formen gzip und deflate bei passender Quelle zwar gut und gerne bis zu 90% eindampfen können, aber bei einer schnellen Leitung springt der Unterschied zwischen 3000 Bytes und 300 Bytes nicht unbedingt sofort ins Auge (was nicht bedeuten soll, dass die Komprimierung "eh nix bringt"!).

Benutze zum Testen lieber LiveHTTPHeaders (Firefox-Erweiterung). Die aktive Komprimierung wird im HTTP-Kopf in der Zeile Content-Encoding angezeigt, entweder steht dort gzip oder deflate. Ob der Client (hier: Webbrowser) komprimierte Daten unterstützt, meldet er übrigens in der Zeile Accept-Encoding, bei Firefox steht dort entsprechend "Accept-Encoding: gzip,deflate".

Verfasst: 03.01.2009, 15:15
von 800XE
2.9 hat geschrieben:sicher, ich hab den subjektiven Eindruck, dass die Handlermethode besser funzt bzw. schneller wirkt, aber da kann ich mich jetzt auch täuschen. In Artikel hab ich aber gelesen, dass die .htaccess Methode empfohlen wird. Warum stand allerdings nicht dabei.
Mork vom Ork hat geschrieben:
2.9 hat geschrieben:Meine Frage ist wo sind die Unterschiede?
Es sind nur unterschiedliche Wege, das Gleiche einzuschalten.
Der zweite ist sicher bequemer, weil man nicht im Quellcode sämtlicher Seiten rumfuhrwerken muss,
Scenario ....
Project mit 100 Dateien wandert auf Anderen Hoster ... dort geht es nicht via PHP
oder es gibt einen Bug(oder sicherheitsrisiko)un man soll es deakivieren
=
1 x ändern
oder
100 x ändern

das ist die ANtwort, warum die htaccess Version empfohlen wird ....

.... auserdem, eventuell, ahst du vielleicht noch dateien ohne PHP ....
... Bilder, Texte, HandmadeHTML .....
.... hteccess can do this mache klein, PHP do this not interessiere


Gruß
Andy 800XE Zmuda

Verfasst: 04.01.2009, 12:39
von Mork vom Ork
800XE hat geschrieben:[brabbelbla].... hteccess can do this mache klein, PHP do this not interessiere
Gott, nee … dein Geschreibsel ist fürchterlich :/

Verfasst: 04.01.2009, 17:26
von RB Media Group
Hallo

Wir nutzen mod_deflate, und sind damit sehr zufrieden. wir Sparen fast 1/3 ein.

htaccess

AddOutputFilterByType DEFLATE

text/html
text/plain
text/xml
text/javascript
text/css
application/x-javascript

voraus gesetzt mod_deflate ist installieren und geladen.

Mit freundlichen Grüßen

Martin Krüger

Verfasst: 05.01.2009, 02:29
von nerd
800XE hat geschrieben: Scenario ....
Project mit 100 Dateien wandert auf Anderen Hoster ... dort geht es nicht via PHP
oder es gibt einen Bug(oder sicherheitsrisiko)un man soll es deakivieren
=
1 x ändern
oder
100 x ändern
wieso - meine global.php binde ich doch ueberall ein, eben weil da die ganzen settings mit drin stehen, session init usw...?