首頁  >  文章  >  後端開發  >  HTTP協定分析系列(九)------http協定與內容壓縮

HTTP協定分析系列(九)------http協定與內容壓縮

WBOY
WBOY原創
2016-08-08 09:31:461384瀏覽

觀察我們打開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>

問:伺服器怎麼知道我們的瀏覽器支援gzip

的? 答:客戶端允許發一個accept-Encoding頭信息,與服務器協商這個例子可以看出這三種類型chrome

小技巧:當我們在採集時,可以不發送Accept-Encoding

訊息,這樣採集到的直接是源碼,當然也可以採集

gzip(
提高速度

)gzip(

提高速度

),再用

gzip

解壓縮內容。

以上就介紹了HTTP協議分析系列(九)------http協議與內容壓縮,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn