Stephan Huber: Website g-zip'ed an client schicken?

Beitrag lesen

Hallo Manuel,

browser die kein gzip unterstützen bekommen ne fehlermeldung..
alle anderen sollen die webseite eben gezippt bekommen..

Ist Dir klar, daß z.B. Googlebot kein gzip-encoding unterstützt, und Du damit aus Google rausfällst?

WIE gehe ich da vor?
ICH will NICHT auf dem server gzip starten und die seite zippen lassen.. das killt ja jede performance..

Am einfachsten ist am Anfang der Seite:
<?    ob_start("ob_gzhandler"); ?>
und am Ende:
<? ob_end_flush(); ?>

Damit bekommen alle, die gzip akzeptieren, die Seite komprimiert, der Rest normal, aber das ist doch eigentlich die bessere Lösung, statt eine Fehlermeldung zu produzieren, oder?
Natürlich führt das dazu, daß bei jedem Seitenaufruf das Resultat einmal durch den gzip-Algorithmus geschickt wird, aber meistens läßt sich das nicht umgehen (PHP-Seiten dienen ja oft auch dazu, daß nicht jeder User die gleiche Seite bekommt, also z.B. an Urls angehängte Session-Ids, da wäre vorheriges zippen sowieso unmöglich). Außerdem ist die Performance-Einbuße minimal, zumindest nach meiner Erfahrung - eine PHP-Seite ist sowieso schon durch den PHP-Prozessor gelaufen, hat ein oder mehrere Male eine Datenbank abgefragt, usw., da ist die zusätzliche Zeit für das zippen vernachlässigbar. Und 1&1 hostet ja nicht auf einem C64 ;-).

Viele Grüße
Stephan