@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 »

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

Hinweise zum Artikel