PHP PHP Dateien mit Gzip ausliefern oder nicht?

Belee

Lt. Commander
Registriert
Dez. 2006
Beiträge
1.518
Hallo

Meine Dokumente werden jetzt komprimiert an die Browser ausgeliefert, das funktioniert sehr gut und ich stelle einen enromen Geschwindigkeitsvorteil fest, das komplette laden der Seite ist um einiges schneller jetzt.

Was ich mich aber frage ist, sollte man php Dateien auch komprimierne lassen oder eher darauf verzichten und nur CSS, JavaScript?
Jetzt noch nicht aber in Kürze werden einige PHP-Seiten dynamisch erstellt und da sehe ich ein Prolem und zwar beim Browser-Caching. Derzeit ist es ja noch kein Problem da keine Seiten dynamsich erzeugt werden sondern alle statisch sind und in die index.php includiert werden.

Gibt es eine Möglichkeit genau zu bestimmen welche php Seiten mit "gzip deflate" ausgeliefert werden und welche nicht?

Dann habe ich noch eine Frage zu der Materie allgemein, das deflate den Server auch etwas mehr beansprucht weiß ich, es wäre also nicht verkehrt wenn man die Dateien von vornerein selbst als *.gzip auf den Server ablegt, dann muss er diese nicht selbst komprimieren sondern kann sofort ausliefern, das würde die Geschwindigkeit nochmal erhöhen. Nur wie geht das? :D

Wie muss so eine htacces aussehen?

Derzeit sieht sie so aus:
PHP:
<IfModule mod_deflate.c> 
<FilesMatch "\\.(js|css|php|html|txt|xml)$"> 
SetOutputFilter DEFLATE 
</FilesMatch> 
</ifModule>

Danke.
 
Ich denke du verwechselst hier etwas. PHP Dateien werden nicht an die Browser geschickt, sondern die Ausgabe von PHP Dateien. Also PHP-Skript erzeugt HTML, HTML kann dann gzip komprimiert und an den Browser geschickt werden. Wenn du die PHP-Skripte schon komprimiert auf dem Server ablegst, müssen sie vor dem Parsen erst dekomprimiert werden damit sie überhaupt ausgeführt werden können.

Ich habe mit diesem Mod bis jetzt noch nichts gemacht, aber theoretisch sollte er, wenn du, wie in deinem Beispiel, "php" zu FilesMatch hinzufügst, dann das vom dem PHP-Skript erzeugte HTML o.ä. gzip komprimieren und ausliefern. Also wenn du die Seiten über .../irgendwas.php auslieferst (deine URLs so aussehen).
 
Ich glaube nicht, dass mod_deflate bei php eingreift. Du kannst in den PHP seiten selber steuern, dass komprimiert ausgegeben wird. Siehe zb. Funktionen ob_start oder ob_gzhandler.
 
Fatal Error schrieb:
Ich denke du verwechselst hier etwas. PHP Dateien werden nicht an die Browser geschickt, sondern die Ausgabe von PHP Dateien.

Das ist mir klar, ich meine ja die Ausgabe, das PHP nicht an den Browser ausgeliefert wird weiß ich, das wäre ja auch ein Ding. :D
Deshalb die Frage wie man dynamisch generierte Seiten ausschliessen könnte, die restlichen sind ja im Prinzip garkeine PHP-Dateien, diese kann ich auch einfach in *.html umbenennen kommt das selbe raus.
Und darum geht es mir, diese statischen Seiten manuell in gzip packen und auf den Server legen und somit den Server entlasten und das ganze noch ein Stück zu beschleunigen. Also Seiten deren Inhalt immer gleich beliebt.

Wie die htaccess syntax dafür aussehen muss da bin ich noch nicht hinter gekommen. Gehen muss das aber da bin ich mir sicher.
Ergänzung ()

bu1137 schrieb:
Siehe zb. Funktionen ob_start oder ob_gzhandler.

Kenn ich, also müsste ich in der htaccess php aus deflate rausnehmen und per gzhandler die Dateien komprimieren lassen die ich komprimiert ausliefern möchte, also eher statische Seiten.
 
Du willst statische Seiten schon vorkomprimiert ablegen? Vergiss nicht, dass ein Browser nicht zwangsweise mit Kompression klarkommen muss.

PHP Seiten musst du bei mod_deflate wohl nicht "rausnehmen", ich würde meinen dass es eh nur statische Seiten behandelt.
 
Dynamische Seiten können ruhig komprimiert ausgeliefert werden. Das hat ja erstmal mit Caching nichts zu tun und stellt somit auch kein Problem dar.

Bei meinen Webanwendungen (Java/Tomcat) werden dynamische Inhalte ohne Probleme komprimiert ausgeliefert.

Wie man das für PHP einrichtet kann ich leider nicht sagen, das ist nicht mein Gebiet.
 
Naja ich hatte eigentlich nicht vor die original dokumente zu löschen sondern neben ihnen die gepackten zu legen, so würden dann Browser die damit umgehen können das eine und die das nicht können das normale bekommen.
 
Zurück
Oben