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?

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente 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, 15:38

marc77 hat geschrieben:Meine CSS-Datei wird also durch die Komprimierung durch php zu einem Script
Nein, deine CSS-Datei wird alleine dadurch zu einem PHP-Skript, dass du sie in datei.php umbenannt hast. Ob du da nun wie im Moment ob_start("ob_gzhandler"); reinschreibst, um den den PHP-eigenen Komprimierer einzuschalten, oder a = 1 + 1, ist vollkommen wurscht. Skript ist Skript, was auf .php endet, wird dem PHP-Interpreter zur Ausführung überlassen.
welches nicht antworten kann?
… welchem in dieser Form die Programmlogik fehlt, um mit "Nicht geändert" zu antworten. Antworten tut es ja schon (mit den CSS-Daten), es fehlt halt noch die zusätzliche Logik für das Nicht-geändert-Antworten – die könntest du entweder auch noch einbauen, oder du benennst die Datei wieder in datei.css um und überlässt es dem Apache.

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

Beitrag von marc77 » 08.04.2010, 17:06

danke, jetzt hab ichs verstanden!

Ich habe meinen Host schon angewiesen den apache2 + mod expires sowie mod deflate zu aktivieren. Bis dahin hab ich die css datei wieder in css umbenannt.

Möglicherweise werde ich hier bald nochmal etwas zu fragen haben. Bis dahin danke und viele Grüße.

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

Beitrag von marc77 » 12.04.2010, 16:59

Hi,

apache2 ist nun seit letzte woche aktiv. mod deflate ist konfiguriert.

1, Bei der mod deflate config steht noch drin:

DeflateCompressionLevel 5
SetEnvIf User-Agent “.*MSIE.*” nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

sollen die beide raus? was macht dieses setenvif?


2, jpgs werden nicht komprimiert, sollte ich auch gifs rausnehmen?

3, mod_expires - ExpiresByType text/html in einem forum zu nutzen ist nicht sinnvoll oder?

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

Beitrag von Mork vom Ork » 12.04.2010, 18:24

marc77 hat geschrieben:DeflateCompressionLevel 5
Da kannst du 9 reinschreiben, also maximale Kompression, jedoch logischerweise auch mehr Arbeit für den Prozessor. Dein Server sollte aber trotzdem nicht zusammenbrechen.
SetEnvIf User-Agent “.*MSIE.*” nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
Hat nichts mit deflate zu tun, das kommt AFAIK ursprünglich aus dem SSL-Modul. Alle Anfragen von Browsern, die irgendwie behaupten, ein IE zu sein, werden mit ungünstigerem Protokollgehabe bedient.
Raus damit, wir haben 2010, wegen des IE 4, der wohl schwerwiegende HTTP- und SSL-Fehler hatte, aber heute bestenfalls noch in homöopathischen Dosen vorkommt, sämtliche IEs und auch Alternativen wie Opera zu belästigen, halte ich für ganz gewaltig groben Unfug. Wenn überhaupt, dann mit einem Muster à la ".*MSIE 4.*", aber auch das kann man sich IMHO schenken.
2, jpgs werden nicht komprimiert, sollte ich auch gifs rausnehmen?
Andersrum, aktiviere deflate nur für Textdaten: AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/rss+xml

Was speziell Bilder angeht: Die gängigen Bildformate (jpg, png, gif) sind bereits komprimiert. Jede weitere Komprimierung kann nichts mehr bringen.
3, mod_expires - ExpiresByType text/html in einem forum zu nutzen ist nicht sinnvoll oder?
Nein, ist nicht sinnvoll.

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

Beitrag von marc77 » 12.04.2010, 20:27

danke für die präzisen Antworten.

Hab nun alles laufen..Server mit 20 Seiten läuft nun auf mod deflate + mod expires... Der Seitenaufbau ist spürbar schneller! Hab alles mit yslow getestet :)

DanielS
PostRank 9
PostRank 9
Beiträge: 1179
Registriert: 03.08.2008, 08:45

Beitrag von DanielS » 12.04.2010, 20:51

marc77 hat geschrieben:danke für die präzisen Antworten.
Sagst Du dann bitte auch in den anderen Foren Bescheid, dass Dein Cross-Posting hier gefruchtet hat? :roll:

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

Beitrag von marc77 » 12.04.2010, 22:07

danke für den hinweis, dort ist ja bereits ein link hier her..also alles ok..
grüße

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag