AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] ETag + Content-Encoding

Ein Thema von Dunedain · begonnen am 16. Mai 2008 · letzter Beitrag vom 12. Jun 2008
Antwort Antwort
Dunedain
(Gast)

n/a Beiträge
 
#1

[PHP] ETag + Content-Encoding

  Alt 16. Mai 2008, 19:12
Hallo,

hab mal ne kleine Verständnisfrage...
Ich habe eine dynamische Seite, welche ich, je nach dem, ob der Client Kompression unterstützt, komprimiert oder im plain-text ausliefere. Aus welchen Daten muss ich im Falle der komprimierten Auslieferung den ETag header bilden? Dem komprimierten oder dem unkomprimierten Inhalt?

google war leider nicht besonders hilfreich, da ich beide Lösungen gefunden habe...
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#2

Re: [PHP] ETag + Content-Encoding

  Alt 11. Jun 2008, 22:05
Wenn du mit PHP eine Seite komprimiert ausgeben willst, dann reicht folgendes am Anfang deines Scriptes. Diese Zeile alleine reicht wirklich, sie überprüft auch, ob der Client Kompression unterstützt und setzt alle notwendigen Header.

Code:
ob_start("ob_gzhandler");
Nur diese eine Zeile!

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.120 Beiträge
 
Delphi 12 Athens
 
#3

Re: [PHP] ETag + Content-Encoding

  Alt 12. Jun 2008, 11:14
es ist egal woraus du den ETag bildest, da dises keine Quersumme (Hash) der Datei darstellt, sondern und irgendeinen Vergleichswert.

wenn der Browser dieses eTag auswertet, dann läd er nur bei einem geänderten Wert (egal woraus der gebildet wird) die Seite neu ... vergleichen mit der Empfangen seitet tut der Browser nicht.



Also nimm die Daten, wo du leichter rankommst

> wenn du die Datei erst zwischenspeicherst und alles zusammen versendest, dann kannst du die komprimierten Daten verwenden (praktisch wenn man den Header erst erzeugt, kurz bevor man die Daten raussendet

> wenn die komprimierten Daten stückchenweise versendet werden, dann kommt man wohl mit den unkomprimierten Daten besser.

PS: ich hatte es mir einfacher gemacht und den ETag nicht aus den Daten, sondern aus der Zeit erstellt (z.B. wann )die daten auf dem Datenträger, oder in der DB gespeichert wurden ... ersparrt einem viel unnötiges gerechne



@Valle: klar reicht das, aber ich hab mir auch selber die Komprimierung erstellt und dann (mal im gegensatz zu bestimmt 99% der PHP-Ausgaben) einen schönen Header (z.B. mit ETag und Co.) erstellt ... das mögen z.B. die Cachen in ProxyServern und im Browser viel lieber und ersparren mir so etwas an trafic
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz