觀察我們打開163的一篇新聞,看到如下相應頭信息,看到如下響應頭信息,注意,Content-Length
點擊右鍵儲存來源碼,儲存的檔案大小
思考:Content-Length
在之前的學習中,代表返回的主體長度
不一致呢?
原因在於Content-Encoding:gzip這個回應頭資訊在作用
原理:為了提高網頁在網路上的傳輸速度,伺服器對主體資訊進行壓縮。如常見的gzip壓縮,
deflate壓縮,compress壓縮,以及google 壓縮的過程是這樣:剛才那個情況的原因,服務器對頁面進行了壓縮content-length是「壓縮」後的長度
壓縮功能?
1.開啟deflate
gzip
模組。2
.在conf文件中寫如下代碼
.答:壓縮也是要耗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>
的? 答:客戶端允許發一個accept-Encoding頭信息,與服務器協商這個例子可以看出這三種類型chrome
小技巧:當我們在採集時,可以不發送Accept-Encoding訊息,這樣採集到的直接是源碼,當然也可以採集
gzip(
提高速度
)gzip(
提高速度),再用
gzip解壓縮內容。
以上就介紹了HTTP協議分析系列(九)------http協議與內容壓縮,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。