Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

CSS Gzip Browserunterstützung

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Nullpointer
PostRank 10
PostRank 10
Beiträge: 4790
Registriert: 22.04.2005, 19:14
Wohnort: West Berlin

Beitrag von Nullpointer » 08.04.2010, 08:54

Das liegt nicht an der Kompression, sondern daran, wie Du bei Deiner Kompressionslösung das Caching bzw. Verfallsdatum verhindert hast.

Wenn DU den Apache per GZIP komprimieren läßt und das Verfallsdatum verwendest, hast Du beide Vorteile: Du sendest nur einmal pro client bis zum Verfallsdatum und wenn Du sendest, dann komprimiert.

Kein Verfallsdatum bedeutet nicht "unendlich haltbar", sondern jedes mal neu Anfordern.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 08.04.2010, 12:59

marc77 hat geschrieben:Warum wird bei komprimierten Daten immer gesendet und diese nicht auch mit "nicht geändert" beantwortet.
Das hat nichts mit komprimierten Daten an sich zu tun, sondern damit, dass du die Daten von einem Skript ausgeben lässt – komprimiert oder nicht ist für dieses Detail egal.

Dein Skript ist nicht in der Lage, auf "Seit dem letzten Abruf geändert"-Anfragen durch den Browser mit einem "Nicht geändert" zu antworten, sondern gibt stur jedesmal die Daten aus. Das ist eigentlich schon alles, du hast nur eine Komprimierung eingebaut, keine Änderungsprüfung.

Der Apache seinerseits kann zwar von Haus aus mit "Nicht geändert" antworten, aber nur, wenn er sicher ist, dass die Daten sich tatsächlich nicht geändert haben. Bei Dateien kann er dies leicht am Änderungsdatum der Datei erkennen. Bei einem Skript geht das hingegen nicht, denn das Änderungsdatum der Skriptdatei sagt ja nichts über die Daten aus, die das Skript an den Browser sendet – und nur um diese Daten geht es.
Stell' dir vor, du hättest ein Skript, das die Uhrzeit ausgibt. Die Daten, d.h. der Text mit der Uhrzeit ändert sich bei jedem Aufruf, aber die Skriptdatei kann Jahre alt sein. Anhand des Dateidatums lässt sich nicht bestimmen, ob die ausgegebenen Daten (die Uhrzeit) sich geändert haben. Aus diesem Grund macht der Apache bei Skripten und dergleichen keine Änderungsprüfung – es geht einfach nicht.

Und da Skripte per se immer variable Daten ausgeben, gibt es auch keine Möglichkeit, die Apache-Änderungsprüfung irgendwo einzuschalten. Für etwas, das immer dieselben Daten ausgibt (wie deine CSS-Daten), braucht man schließlich kein Skript, sondern nimmt eine normale Textdatei.
In ein Skript kann man zwar so eine Änderungsprüfung einbauen, in deinem Falle eigentlich sogar recht simpel, aber wozu ein einzelnes Rad neu erfinden, wenn beim Apache bereits eine ganze, vollautomatische Räderfabrik mitgeliefert wurde?

marc77
PostRank 8
PostRank 8
Beiträge: 849
Registriert: 22.05.2007, 21:41

Beitrag von marc77 » 08.04.2010, 13:54

ok, nochmals danke für die Erklärung. Meine CSS Datei wird also durch die Komprimierung durch php zu einem Script, welches nicht antworten kann? richtig?