Heim  >  Artikel  >  Backend-Entwicklung  >  HTTP-Protokollanalysereihe (9) ------http-Protokoll und Inhaltskomprimierung

HTTP-Protokollanalysereihe (9) ------http-Protokoll und Inhaltskomprimierung

WBOY
WBOYOriginal
2016-08-08 09:31:461384Durchsuche

Beachten Sie, dass wir einen Nachrichtenartikel von 163 öffnen und die folgenden entsprechenden Header-Informationen und die folgenden Antwort-Header-Informationen sehen. Beachten Sie, dass Content-Length


Gleichzeitig klicken wir mit der rechten Maustaste, um den Quellcode zu speichern. Die gespeicherte Dateigröße beträgt


Denken: InhaltslängeIn der vorherigen Studie stellte es die zurückgegebene Körperlänge dar

Aber warum stimmt die hier zurückgegebene Körperlänge nicht mit der Inhaltslänge überein?

Der Grund ist, dass Content-Encoding:gzipDiese Antwort-Header-Informationen sind wirksam

Prinzip: Um die zu verbessern Übertragung von Webseiten im Netzwerk Geschwindigkeit, der Server komprimiert die Betreffinformationen. Wie zum Beispiel die übliche gzip-Komprimierung, deflate-Komprimierung, compress-Komprimierung und Google Chrome forciert die sdch-Komprimierung.

Der Komprimierungsprozess ist wie folgt:


Aufgrund der aktuellen Situation hat der Server verarbeitete die Seite. Komprimierte Inhaltslänge ist die Länge nach „Komprimierung“

Wie aktiviere ich die Komprimierung in Apache?

1. Aktivieren Sie das Modul deflate oder das Modul gzip.

2 Schreiben Sie den folgenden Code in die conf-Datei

3. Warum müssen wir den Dateityp für die Komprimierung angeben?

Antwort: Komprimierung verbraucht auch CPURessourcen, Bilder/Filme/ Der Komprimierungseffekt von Videos und anderen Dateien ist ebenfalls nicht gut.

ist im Allgemeinen eine Datei im komprimierten Textformat.

<ifmodule mod_deflate.c>
DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE image/svg+xml
</ifmodule>

F: Woher weiß der Server, dass unser Browser gzip unterstützt?

Antwort: Der Client darf eine accept-Encoding Header-Information senden, um mit dem Server

Sie auszuhandeln Sie können dieses Beispiel sehen. Es gibt drei Arten von ChromeBrowser

Firefox unterstützt nur zwei Komprimierungsmethoden

Tipps: Wenn wir sammeln, brauchen wir nicht um Accept-Encoding-Informationen zu senden, damit der Quellcode direkt erfasst wird. Natürlich können Sie auch gzip erfassen ( zur Verbesserung der Geschwindigkeit). und verwenden Sie dann gzipExtrahieren Sie den Inhalt.


Das Obige stellt die HTTP-Protokollanalysereihe (9) vor – http-Protokoll und Inhaltskomprimierung, einschließlich Aspekten des Inhalts. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn