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