|
|||
![]()
<offtopic>
Zusätzliche Information: Conditional GET mit PHP, d.h. einen PHP gesteuerten HTTP/1.x 304 ist mit jeder PHP-Datei möglich. Es muß nicht die gesamte Ausgabe in einem $String gesammelt werden, es gibt in PHP auch eine Ausgabenpufferung mit op_start() und somit die Möglichkeit einer entsprechenden Behandlung des ETag. Ich wundere mich nur warum dieses Thema keinen Zuspruch findet, andererseits aber in einigen THREADs über Komprimierung, Dateigrößen und white-spaces "wild" diskutiert wird. so long </offtopic>
__________________
</ulle> |
Sponsored Links |
|
||||
![]()
In der Compress.php aus PEAR kann man sehr schön sehen, wie GZIP und E-Tag angewendet werden. Allerdings wird dort auch ein nicht zu unterschätzender Fehler gemacht. Der Wert für E-Tag wird nur als MD5-Hash aus dem Inhalt der Datei ermittelt. Wichtig ist jedoch, dass die Header Vary und Content-Encoding mit zum Inhalt genommen werden und daraus dann der MD5-Hash ermittelt wird. Ansonsten kann es passieren, dass ein nicht GZIP-fähiger Client trotzdem komprimierte Inhalte über einen Proxy bekommt.
@ulle, zu deiner Frage mit Content-Length und GZIP: das ist das gleiche wie bei unkomprimierten Inhalten. Wichtig ist halt nur, dass Content-Length die Größe des komprimierten Inhalts zeigt. Zu den Einstellungen von Apache schau ich mal nach. Was Google angeht, mir ist nicht bekannt, dass Google einen E-Tag beachtet. Bei mir ruft er jedenfalls immer die komplette Datei ab. Ich vermute mal, dass Google nur Last-Modified erkennt und einen If-Modified-Since Request sendet. Zumindest habe ich im Logfile die einzigen 304er von Google nur bei statischen Dateien. Bei meinen PHP-Scripten kann ich momentan nicht auf If-Modified-Since reagieren. Dass Google deine CSS-Dateien läd, verwundert mich ein wenig. Die fasst er bei mir überhaupt nicht an. Mario |
Sponsored Links |
|
|||
![]() Zitat:
Zitat:
__________________
</ulle> |
|
||||
![]() Zitat:
Zitat:
Es kann durchaus Probleme geben, wenn PHP und der Webserver versuchen das Dokument zu komprimieren, weshalb man dann bspw. die Komprimierung von PHP-Dateien bei mod_gzip pder mod_deflate besser deaktivieren sollte. Mario |
|
||||
![]() Zitat:
Zitat:
Zitat:
Zitat:
Was mich zu dem Schluß kommen läßt eine Content-Length niemals per PHP zu setzen, da ja ein Projekt jederzeit auf einen anderen Server verlagert werden könnte, und dann bedenkt bestimmt niemand den per PHP gesetzten Header für die Content-Length.
__________________
</ulle> |
|
||||
![]() Zitat:
Ich selbst nutze meine eigene erweiterte HTTP-Klasse, die aber ursprünglich aus der Compress.php entstanden ist. Deshalb hatte ich das Original auch noch auf der Platte. Zitat:
Ich hab gerade mal die heutigen Logfiles von ego4u angeschaut und da waren bei 1147 Googlebot, 1205 Yahoo! Slurp und 367 msnbot Zugriffen keine einzige CSS-Datei mit dabei, die einer der 3 Bots geladen hat. Zitat:
Zitat:
Wenn du Scripte weitergeben willst, solltest du Content-Length immer mit setzen. Allerdings sollte sich die GZIP-Komprimierung per Konfigurationsdatei deaktivieren lassen, falls es doch auf dem einen oder anderen Server Probleme gibt. Mario |
|
|||
![]()
Hmmm - Ist das nicht egal, falls der CLIENT die geforderten Infomationen nicht sendet wird er behandelt als ob dieser zum ersten mal anfragt:
PHP-Code:
__________________
</ulle> |
Sponsored Links |
![]() |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Bild zentrieren | JuKo | CSS | 4 | 21.03.2018 00:35 |
Apache, IIS, PHP und Session Cookie | laborix | Serveradministration und serverseitige Scripte | 10 | 18.12.2011 01:42 |
PHP MySQL - Anfängerfrage: Empfehlung GET, POST, SESSION oder Kombination? | DerJeff | Serveradministration und serverseitige Scripte | 9 | 07.06.2011 11:01 |
header verrutscht... | weblearner | CSS | 6 | 03.12.2008 19:34 |
Dateien auslagern - Include und PHP | ArcVieh | Serveradministration und serverseitige Scripte | 17 | 27.03.2008 18:09 |