Heim >Backend-Entwicklung >PHP-Tutorial >So implementieren Sie die komprimierte Apache PHP GZIP-Ausgabe
1. Einführung in gzip
gzip ist die Abkürzung für GNU-freies Software-Dateikomprimierungsprogramm und wird häufig zur Darstellung von gzip verwendet . Dateiformat. Die Autoren der Software sind Jean-loup Gailly und Mark Adler. Es wurde erstmals am 31. Oktober 1992 veröffentlicht. Die Versionsnummer ist 0.1. Die aktuelle stabile Version ist 1.2.4.
Gzip wird hauptsächlich zur Dateikomprimierung in Unix-Systemen verwendet. Unter Linux verwenden wir häufig Dateien mit der Endung .gz, und sie liegen im GZIP-Format vor. Heutzutage ist es ein sehr verbreitetes Datenkomprimierungsformat oder Dateiformat, das im Internet verwendet wird. Bei der Anwendung der Gzip-Komprimierung auf eine reine Textdatei ist der Effekt sehr offensichtlich. Nach der GZIP-Komprimierung kann die Seitengröße je nach Inhalt der Datei 40 % oder weniger der Originalgröße betragen.
Die GZIP-Kodierung über das HTTP-Protokoll ist eine Technologie zur Verbesserung der Leistung von WEB-Anwendungen. In der Webentwicklung können Sie gzip zum Komprimieren von Seiten verwenden, um den Verkehr der Website zu reduzieren. Allerdings erhöht sich die CPU-Auslastung durch gzip nur geringfügig, es kann jedoch komprimiert werden die Seite um mehr als 30 %, sehr kostengünstig.
Mit dem Gzip-Modul in Apache können wir den Gzip-Komprimierungsalgorithmus verwenden, um den vom Apache-Server veröffentlichten Webinhalt zu komprimieren und ihn dann an den Client-Browser zu übertragen . Durch diese Komprimierung wird tatsächlich die Anzahl der über das Netzwerk übertragenen Bytes reduziert (Netzwerk-E/A für die Übertragung eingespart). Der offensichtlichste Vorteil besteht darin, dass das Laden von Webseiten beschleunigt werden kann.
Die Vorteile der Beschleunigung des Ladens von Webseiten liegen auf der Hand. Neben der Einsparung von Verkehr und der Verbesserung des Surferlebnisses des Benutzers sind Gzip und die Suchindizierung Der Crawler der Engine hat eine bessere Beziehung. Beispielsweise kann Google Webseiten schneller crawlen als beim normalen manuellen Crawlen, indem es GZIP-Dateien direkt liest. In den Google Webmaster-Tools können Sie sehen, dass sitemap.xml.gz direkt als Sitemap übermittelt wird. Und diese Vorteile beschränken sich nicht nur auf statische Inhalte. PHP-dynamische Seiten und andere dynamisch generierte Inhalte können mithilfe des
Apache-Komprimierungsmoduls sowie anderer Leistungsanpassungsmechanismen und entsprechender Serverseite komprimiert werden Caching-Regeln, die die Website-Leistung erheblich verbessern können. Daher empfehlen wir für PHP-Programme, die auf Linux-Servern bereitgestellt werden, die Gzip-Webkomprimierung zu aktivieren, wenn der Server dies unterstützt.
2. Der Prozess der Verarbeitung der HTTP-Komprimierung durch den Webserver ist wie folgt: 1.
WebserverÜberprüfen Sie nach dem Empfang der HTTP-Anfrage vom Browser, ob der Browser die HTTP-Komprimierung unterstützt (Accept-Encoding-Informationen). 2. Wenn der Browser die HTTP-Komprimierung unterstützt,
WebserverÜberprüfen Sie den Suffixnamen der angeforderten Datei 3. Wenn es sich bei der angeforderten Datei um eine statische Datei wie HTML, CSS usw. handelt, prüft der
Webserverob die neueste Version der angeforderten Datei bereits im Komprimierungspufferverzeichnis vorhanden ist 4. Wenn die komprimierte Datei der angeforderten Datei nicht vorhanden ist, gibt der
Webserverzurück unkomprimierte angeforderte Datei an den Browser und speichert die komprimierte Datei der angeforderten Datei im Komprimierungspufferverzeichnis ; 5. Wenn die neueste komprimierte Datei der angeforderten Datei bereits vorhanden ist, wird die komprimierte Datei der angeforderten Datei erstellt direkt zurückgegeben;
6. Wenn es sich bei der angeforderten Datei um eine dynamische Datei handelt,
WebserverKomprimieren Sie den Inhalt dynamisch und geben Sie ihn an den Browser zurück. Der komprimierte Inhalt wird nicht im Komprimierungs-Cache-Verzeichnis gespeichert .
3. Aktivieren Sie die gzip-Funktion von Apache 🎜>Es gibt zwei Module auf Apache
, die den Gzip-Komprimierungsalgorithmus zur Komprimierung verwenden:mod_gzip und mod_deflate. Um die Gzip-Webkomprimierung zu verwenden, stellen Sie zunächst sicher, dass Ihr Server eine dieser beiden Komponenten unterstützt. Obwohl die Verwendung von Gzip auch die Unterstützung des Client-Browsers erfordert, machen Sie sich keine Sorgen, die meisten Browser unterstützen derzeit Gzip, wie z. B. IE, Mozilla Firefox, Opera, Chrome usw.
Anhand des HTTP-Headers können wir schnell feststellen, ob der verwendete Client-Browser die GZIP-Komprimierung unterstützt. Wenn die folgenden Informationen im gesendeten HTTP-Header erscheinen, bedeutet dies, dass Ihr Browser die entsprechende gzip-Komprimierung unterstützt: Der Code lautet wie folgt:Accept-Encoding: gzip unterstützt mod_gzip
Accept-Encoding: deflate unterstützt mod_deflateAccept-Encoding: gzip,deflate unterstützt sowohl mod_gzip als auch mod_deflate
Siehe Firebug :
Apache
Content-Encoding: gzipHinweis: 1) Die hier zurückgegebenen Informationen sind unabhängig davon, ob mod_gzip oder mod_deflate verwendet wird. Weil sie alle die GZIP-Komprimierung implementieren.