ホームページ  >  記事  >  バックエンド開発  >  HTTPプロトコル解析シリーズ(9) ------httpプロトコルとコンテンツ圧縮

HTTPプロトコル解析シリーズ(9) ------httpプロトコルとコンテンツ圧縮

WBOY
WBOYオリジナル
2016-08-08 09:31:461384ブラウズ

163 からのニュース記事を開いて、次の対応するヘッダー情報を確認し、Content-Length


を確認しました。同時に右クリックしてソースコードを保存すると、保存されるファイルサイズは


考え方: Content-Length

前回の研究では、返されたボディの長さを表していました

ここでは本体の長さとコンテンツの長さが返されますか?

不一致についてはどうですか? その理由は、

Content-Encoding:gzip

このレスポンスヘッダー情報が機能しているためです原理: ネットワーク上のWebページの伝送速度を向上させるために、サーバーは主要な情報を圧縮します。一般的な

gzip

圧縮、deflate 圧縮、compress 圧縮、google chrome が推している sdch 圧縮などです。 圧縮プロセスは次のとおりです:


今の状況の理由は、サーバーがページコンテンツを圧縮したためです-長さ

は「圧縮」後の長さです

それを有効にする方法

apache

の圧縮関数? 1.

deflate

モジュールまたはgzipモジュールをオンにします。

2

。次のコードをconfファイル3に書き込みます。 答え: 圧縮はCPU
リソースも消費し、圧縮効果は写真

/

映画/

ビデオやその他のファイルには良くありません。

通常は圧縮されたテキスト形式のファイルです。

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

Q: ブラウザが gzip をサポートしていることをサーバーはどのようにして知るのでしょうか? 答え: クライアントは、accept-Encodingヘッダーメッセージを送信してサーバーとネゴシエートすることができます

この例では、3種類のChrome

ブラウザを表示できます


Firefoxは2つの圧縮方法のみをサポートしています

ヒント: 収集するときに、Accept-Encoding 情報を送信する必要はありません。そのため、ソース コードが直接収集されることになります。もちろん、

gzip (速度を上げる) を収集することもできます。

してから、

gzip

を使用してコンテンツを解凍します。

以上、HTTPプロトコル解析シリーズ(9)-----httpプロトコルとコンテンツ圧縮について、内容の側面も含めて紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。