Webseite komprimieren

  • Hallo,
    ich habe grad mal etwas im Internet rumgesurft und bin dabei auf Webseitenkomprimierung gestoßen.


    Kann mir jemand sagen, wie man das macht? Will damit den Aufbau beschleunigen und Traffik reduzieren.


    Grüße

  • Du musst bedenken, dass die Komprimierung auch Ressourcen und Zeit kostet (CPU, ...) und dadurch die gewonnene Zeit und der Traffic schnell wieder verloren gehen. Für normale Websites würde ich sagen lohnt sich das kaum, überarbeite lieber deine HTML/CSS Codes, damit sie minimalst aufgebaut sind. JavaScripts kannst du z.B. mit JSMin komprimieren und beschleunigen, das lohnt sich dann sogar. Für die ganze Website würde ich maximal bei sehr vielen Daten (lange Tabellen o.ä. mit mehreren Megabyte) komprimieren.


    Zur Vervollständigung: Der Apache selbst bietet ein Modul für die Komprimierung an, das eignet sich hervorragend für statische Seiten oder Dateien. In Scriptsprachen wie z.B. PHP kannst du einen Output Handler mit gzip verwenden: www.php.net/manual/de/book.outcontrol.php - das kostet aber unnötig viel Ram ;)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Ersetze Komprimierung durch Optimierung und das hast eine sinnvolle Spielwiese gefunden:



    achso, Komprimierung bei mobilen Webbrowsern zu aktivieren kann schon sehr hilfreich sein ;) Wenn jemand mobil mal mit Edge oder sogar Umts surft und die Verbindungsqualität ist nicht gerade genial kann die Komprimierung zusammen mit der Optimierung schon einiges ausmachen.

  • Wenn du die Geschwindigkeit deiner Webseite verbessern willst, dann reduziere die Anzahl der Request zum Darstellen der Seite drastisch. CSS ist bei den schlechten Seiten über ca 5 URLs verteilt, gute Webseiten liefern CSS Inline aus. Ebenso kann man die clientseitige Cachingzeit für Bilder hoch setzen. Bei z.B. einem Blog/Newsseite/etc ändert sich der Text unter der gleichen URL oft, die Bilder bleiben aber statisch. Jeder eingesparte Request erzeugt einen flüssigeren Aufbau beim Webseitenbetrachter und musst nicht erst über den halben Globus geschickt werden.



    killerbees19, die komprimierten Inhalte werden doch auch zwischengespeichert, es wird doch nicht jedesmal in Echtzeit neu komprimiert. Würde die Komprimierung viele CPU-Resourcen verbrauchen, dann müßte ja die Auslieferung der Webseite länger dauern. Durch eine intelligente Konfiguration (Caching, effiziente DB-Abfragen) spart man in der Regel viel mehr Zeit ein als die Komprimierung heutzutage an Resourcen verbraucht.


    ubuntu, welche Probleme siehst du in der Praxis denn? Google benutzt es doch auch und es sind mir keinerlei Probleme bei der Erreichbarkeit von www.google.com bekannt.


    Linksammlung:
    Best Practices for Speeding Up Your Web Site
    Official Google Webmaster Central Blog: Using site speed in web search ranking
    View HTTP Request and Response Header

    "Security is like an onion - the more you dig in the more you want to cry"

  • Zitat von vmk;25763

    CSS ist bei den schlechten Seiten über ca 5 URLs verteilt, gute Webseiten liefern CSS Inline aus.


    Sorry, aber dann wird jede Website Ausgabe noch größer. Denn nur über CSS Dateien (bzw. halt eine) kann genau dieser Request eingespart werden, da er vom Browser zwischengespeichert wird...


    Zitat von vmk;25763

    killerbees19, die komprimierten Inhalte werden doch auch zwischengespeichert, es wird doch nicht jedesmal in Echtzeit neu komprimiert.


    Das zeigst mir bei dynamischen Inhalten wie z.B. von PHP aber einmal, davon sprach ich nämlich ;)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Es kommt immer konkret auf die Webseite selbst drauf an, wie man vorgeht. Ich denke wir sind uns aber einig, dass 5 seperate CSS-Dateien egal für welchen Fall nicht sinnvoll sind. Was man genau in der Praxis macht, kann man pauschal nicht vorhersagen. Wenn der CSS-Anteil einer Webseite gering ist bzw. CSS nur wenige Zeilen sind, wieso diesen dann nicht Inline angeben?


    Natürlich gehe ich bei dynamischen Webseiten von php oder einer anderen Skriptsprache aus. Aber wie dynamisch sind z.B. die einzelnen Seiten eines Forums oder eines Nachrichtenseite? Änderungen am Seiteninhalt gibt es nur aller paar Minuten, in der Zwischenzeit bekommt jeder Client nur den gleichen, quasi statitischen Inhalt zurückgeliefert (in einem x min Intervall betrachtet). Genau hier setzt Caching ein. Bei größeren Foren klappt das selbst dann noch, wenn man auf jede Webseite die aktuelle Uhrzeit in Form hh:mm schreibt und man auf die Sekundenangabe verzichtet. Schau dir mal aktuelle php-Software für größere Projekte an, dort wird mitnichten bei jedem Request von Client der komplette PHP-Code neu ausgeführt.

    "Security is like an onion - the more you dig in the more you want to cry"