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
相關文章
- 檔案壓縮和解壓縮
- .NET 壓縮/解壓檔案
- Linux 檔案壓縮Linux
- gulp壓縮檔案
- Linux中檔案的壓縮和解壓縮Linux
- 電腦怎麼壓縮檔案 檔案壓縮方法詳解
- Mac壓縮檔案怎麼加密?BetterZip加密Word壓縮檔案教程Mac加密
- linux檔案壓縮和解壓命令Linux
- Linux常用命令之檔案壓縮與解壓縮命令詳解Linux
- Ubuntu 壓縮檔案命令Ubuntu
- c#壓縮檔案C#
- linux 下面壓縮、解壓.rar檔案Linux
- 將bmp檔案壓縮為jpg檔案
- node ~ zip壓縮 && 檔案加密加密
- C# 壓縮PDF檔案C#
- 從零手寫實現 nginx-09-compress http 檔案壓縮NginxHTTP
- Linux下檔案的壓縮與解壓Linux
- betterzip怎麼解壓檔案?如何使用BetterZip批次解壓壓縮檔案
- zip壓縮檔案處理方案(Zip4j壓縮和解壓)
- Linux科研武器庫 - 檔案壓縮與解壓縮 - zip / unzipLinux
- 分卷壓縮怎麼解壓 快速解壓電腦分卷壓縮檔案方法
- Vue開啟gzip壓縮檔案Vue
- java中檔案如何加密壓縮?Java加密
- java中 檔案壓縮處理Java
- SpringBoot-檔案壓縮處理Spring Boot
- java 生成 zip格式 壓縮檔案Java
- java 把檔案壓縮成 zipJava
- linux系統壓縮,解壓檔案筆記Linux筆記
- excel檔案裡的圖片怎麼壓縮?excel檔案裡圖片的壓縮方法Excel
- 哈夫曼實現檔案壓縮解壓縮(c語言)C語言
- word文件太大怎麼壓縮到最小 word壓縮檔案大小
- pdf壓縮教程:如何把pdf檔案壓縮得小一點
- hive學習之四:hive檔案格式以及壓縮編碼Hive
- 修復損壞的gzip壓縮檔案之原理篇
- Word檔案太大怎麼壓縮,分享壓縮Word的簡單方法
- Linux中Bin檔案壓縮包解壓執行Linux
- c# 檔案壓縮DotNetZip和SharpZipLibC#
- Linux加密壓縮檔案/資料夾Linux加密
- Python 壓縮PDF減小檔案大小Python