@Bastianoso

Webseiten-Ladezeit verkürzen: CSS und JS komprimieren

Seitenaufrufe lassen sich enorm beschleunigen, wenn man die Inhalte vor dem Übertragen komprimiert.
Dafür gibt es im Netz einen Standard, den Webserver und Browser beherrschen: mod_gzip.

Doch leider ist nicht bei jedem Apache Webserver, der im Netz unterwegs ist, das Modul mod_gzip installiert und aktiviert.
Je mehr Traffic auf der Webseite ist, desto mehr macht sich die fehlende Kompression bemerkbar.

Für die Glücklosen, die nicht auf einem Rootserver oder Managed-Server rumfurwerken können, gibt es aber auch alternative Lösungen:

Michael Schwarz von php-vision.de hat ein kleines PHP-Script geschrieben, welches JavaScript und CSS-Dateien auf Wunsch schon komprimiert an den Browser ausliefert.
Die Aufrufe der *.css-/*.js-Dateien müssen nur über das Script gelenkt werden.

Nach dem Download des Scripts, kann man diese Umleitung bequem über eine .htaccess-Datei lenken:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} (.*).[css|js] RewriteRule (.*) /gzip.php?file=$1 [QSA,L]

Zu beachten wäre hierbei, dass nicht alle JavaScripte die Kompression unbeschadet überstehen.
Daher komprimiere ich bei mir nur die CSS-Dateien.
Die JavaScript-Dateien wähle ich per Hand aus und verlinke sie im HTML-Code wie folgt:

<script type=“text/javascript“ src=“/gzip.php?file=/js/sitewide.js“></script>

Meine CSS-Datei hat sich so von 2,4 KB auf 0,9 KB reduziert.
Meine JavaScript-Datei ist von 44,9 KB auf 15,9 KB geschrumpft.

Bei entsprechend vielen Seitenaufrufen, lässt sich so orgendtlich Bandbreite sparen.

Zusätzlich ist in Michaels Script auch eine kleine Caching-Anweisung für Browser eingebaut, die dem Browser die Datei nur erneut zusendet, wenn sie geändert wurde.

Die Kombination aus beidem spart mächtig gewaltig Bandbreite 🙂

3
Hinterlasse einen Kommentar

  Abonnieren  
neueste älteste meiste Bewertungen
Benachrichtige mich bei

Ich würde aber mal behaupten dass die Seite insgesamt langsamer wird wenn man die js und css dateien immer durch das php haut. Da kommt nämlich dann ein enormer PHP Overhead hinzu der den server zusätzlich belastet. Ich würde
a)gzip auf dem server komplett aktivieren, dann übernimmt der Apache das zippen
b) nur einmal zippen via php, das ergebnis speichern und dann das gespeicherte zurückgeben

Etwas viel zu tun in letzter Zeit, deswegen lese ich feeds nicht immer ganz zeitnah, aber gelesen wird alles 😉 ich würde Möglichkeit b) wie folgt implementieren. das css und js liegt im Ordner css_cache oder so. dort liegt ne .htaccess drin und in der steht folgendes: # Enable URL rewriting RewriteEngine On #RewriteBase / # If the file/symlink/directory does not exist => Redirect to index.php # Important note: If you copy/paste this into httpd.conf instead # of .htaccess you will need to add ‚%{DOCUMENT_ROOT}‘ left to each # ‚%{REQUEST_FILENAME}‘ part. RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l… Weiterlesen »

Fotos Altona Einkaufen Gesellschaft Mac OS X Abschlussprüfung Webserver Sibirische Katze Apple Wirtschaft Kino Laufen Kredite Party Facebook Ausbildung Terminal Datenbanken Hamburg IKEA Sicherheit Netzwerktechnik Silvester Sommer Bilanz Werbung Programmieren Microsoft Datenschutz Musik Internet twitter E-Mail Kater web 2.0 Fahrrad Weiterleitung URL Projektmanagement Organisation Deutschland Datenübertragung Redirect Windows BarCamp Computer IST-Analyse iOS Alkohol Film Videos C++ Inventur Fernsehen Konzert Buchhaltung iPhone Restaurant Weihnachten OS X Netzwerk Ernährung Tipps & Tricks Sport projekt52

Hinweise zum Artikel