HTTP 之 檔案壓縮
http伺服器上要對檔案進行壓縮,需要載入mod_deflate模組
使用mod_deflate模組壓縮頁面優化傳輸速度,壓縮會對伺服器造成負擔,消耗CPU,但是生產中一般是要啟用壓縮模組,因為生產中是用流量算錢的,但是這邊要兼顧伺服器效能
可以指定壓縮比,1--9,9最高,預設是9,傳送到客戶端前壓縮,壓縮是成對出現,伺服器和客戶端都要支援
.適用場景:
(1)節約頻寬,額外消耗CPU;同時,可能有些較老瀏覽器不支援
(2)壓縮適於壓縮的資源,例如文字檔案
模組:deflate_module,配置如下
LoadModule deflate_modulemodules/mod_deflate.so
例子一
vim /etc/httpd/conf.d/deflat.conf
# Insert filter
SetOutputFilter DEFLATE
# Netscape 4.x has someproblems...
BrowserMatch ^Mozilla/4gzip-only-text/html
#對瀏覽器Netscape 4.x(Mozilla/4)只壓縮text/html這個格式的檔案
# Netscape 4.06-4.08have some more problems
BrowserMatch^Mozilla/4\.0[678] no-gzip
##對瀏覽器Netscape 4.06-4.08這三個版本的所有檔案都不壓縮
# MSIE masquerades asNetscape, but it is fine
BrowserMatch \bMSIE!no-gzip !gzip-only-text/html
#對IE瀏覽器壓縮檔案格式text/html,注意no前面加一個!符號表示雙重取反,如果使用者代理首部匹配字串“MSIE”(“B”為單詞邊界”),就關閉之前定義的限制,支援壓縮
# Don't compress images
SetEnvIfNoCaseRequest_URI \
\.(?:gif|jpe?g|png)$no-gzip dont-vary
#如果請求的檔案格式是?:gif|jpe?g|png就不壓縮,因為?:gif|jpe?g|png這些格式的檔案預設上傳到伺服器都是進行壓縮過的,所以伺服器不再對這些格式的檔案進行壓縮,降低對CPU的負擔
# Make sure proxiesdon't deliver the wrong content
Header append VaryUser-Agent env=!dont-vary
例子二
在子配置檔案中啟用模組的功能,指定對哪種型別的檔案進行壓縮,以下的例子定義對多種格式的檔案進行壓縮,實際配置只需要指定伺服器上存放檔案的格式即可
vim /etc/httpd/conf.d/deflat.conf
SetOutputFilter DEFLATE
#以上語句是啟用壓縮
DeflateCompressionLevel8
#預設是9,最高壓縮比,這裡重新定義壓縮比為8
# Restrict compression to these MIMEtypes
#指定要壓縮的型別
AddOutputFilterByType DEFLATEtext/plain
AddOutputFilterByType DEFLATEtext/html
AddOutputFilterByType DEFLATEapplication/xhtml+xml
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATEapplication/xml
AddOutputFilterByType DEFLATEapplication/x-javascript
AddOutputFilterByType DEFLATEtext/javascript
AddOutputFilterByType DEFLATEtext/css
重啟伺服器後進行測試
1.方法一,開啟瀏覽器除錯模式,獲取伺服器上的資源,如輸入http://172.18.50.63/fs檢視響應頭部
Content-Encoding:gzip和ContenLength:382,跟檔案實際大小對比,確實是被壓縮了
2.通過curl來檢視對比,命令curl --compress -Ihttp://172.18.50.63/fs,同樣有兩個欄位Content-Encoding:
gzip和Content-Length:382
相關文章
- 檔案壓縮和解壓縮
- HTTP壓縮HTTP
- Java學習筆記之I/O流(讀取壓縮檔案以及壓縮檔案)Java筆記
- .NET 壓縮/解壓檔案
- gulp壓縮檔案
- Java檔案壓縮Java
- java 檔案壓縮Java
- aix 檔案的壓縮與解壓縮AI
- 電腦怎麼壓縮檔案 檔案壓縮方法詳解
- Linux中檔案的壓縮和解壓縮Linux
- Mac壓縮檔案怎麼加密?BetterZip加密Word壓縮檔案教程Mac加密
- Ubuntu 壓縮檔案命令Ubuntu
- c#壓縮檔案C#
- Linux 檔案壓縮Linux
- WindowsApi 解壓縮檔案WindowsAPI
- 使用gzip壓縮檔案
- cpio檔案解壓縮
- linux下的檔案的壓縮和解壓縮Linux
- Linux常用命令之檔案壓縮與解壓縮命令詳解Linux
- linux檔案壓縮和解壓命令Linux
- 常見檔案解壓和壓縮
- C# 檔案流壓縮解壓C#
- 將bmp檔案壓縮為jpg檔案
- 檔案的壓縮與解壓縮zz--linuxLinux
- node ~ zip壓縮 && 檔案加密加密
- C# 壓縮PDF檔案C#
- C# 建立壓縮檔案C#
- ZipArchive解壓縮zip檔案Hive
- 檔案打包與解壓縮
- linux 壓縮分解檔案Linux
- Linux 檔案的壓縮Linux
- .Z 檔案的解壓縮
- 使用compress壓縮檔案
- linux 下面壓縮、解壓.rar檔案Linux
- zip壓縮檔案處理方案(Zip4j壓縮和解壓)
- betterzip怎麼解壓檔案?如何使用BetterZip批次解壓壓縮檔案
- 分卷壓縮怎麼解壓 快速解壓電腦分卷壓縮檔案方法
- Linux中檔案的壓縮與解壓縮(轉貼)Linux