nginx gzip壓縮 相關配置,

2021-07-23 16:57:29 字數 1558 閱讀 1367

網頁內容的壓縮編碼與傳輸速度優化

我們觀察news.163.com的頭資訊

請求:accept-encoding:gzip,deflate,sdch

響應:content-encoding:gzip

content-length:36093

再把頁面另存下來,觀察,約10w位元組,實際傳輸的36093位元組

原因-------就在於gzip壓縮上.

原理:

瀏覽器---請求----> 宣告可以接受 gzip壓縮 或 deflate壓縮 或compress 或 sdch壓縮

從http協議的角度看--請求頭 宣告 acceopt-encoding: gzip deflate sdch (是指壓縮演算法,其中sdch是google倡導的一種壓縮方式,目前支援的伺服器尚不多)

伺服器-->回應---把內容用gzip方式壓縮---->發給瀏覽器

瀏覽<-----解碼gzip-----接收gzip壓縮內容----

預設情況下,nginx的gzip壓縮是關閉的, gzip壓縮功能就是可以讓你節省不少頻寬,但是會增加伺服器cpu的開銷哦,nginx預設只對text/html進行壓縮 ,如果要對html之外的內容進行壓縮傳輸,我們需要手動來調。

開啟gzip的指令如下:

**如下

**開啟gzip壓縮,不僅能夠節省頻寬,也能夠快速響應使用者的訪問,在nginx中,開啟gzip壓縮的方法為:

gzip on;      (啟用 gzip 壓縮功能)

gzip_proxied any;  (nginx 做前端**時啟用該選項,表示無論後端伺服器的headers頭返回什麼資訊,都無條件啟用壓縮)

gzip_min_length  1024; (最小壓縮的頁面,如果頁面過於小,可能會越壓越大,這裡規定大於1k的頁面才啟用壓縮)

gzip_buffers     4 8k; (設定系統獲取幾個單位的快取用於儲存gzip的壓縮結果資料流)

gzip_comp_level 3; (壓縮級別,1壓縮比最小處理速度最快,9壓縮比最大但處理最慢,同時也最消耗cpu,一般設定為3就可以了)

gzip配置的常用引數

gzip on|off;  #是否開啟gzip

gzip_buffers 32 4k| 16 8k #緩衝(壓縮在記憶體中緩衝幾塊? 每塊多大?)

gzip_comp_level [1-9] #推薦6 壓縮級別(級別越高,壓的越小,越浪費cpu計算資源)

gzip_disable #正則匹配ua 什麼樣的uri不進行gzip

gzip_min_length 200 # 開始壓縮的最小長度(再小就不要壓縮了,意義不在)

gzip_http_version 1.0|1.1 # 開始壓縮的http協議版本(可以不設定,目前幾乎全是1.1協議)

gzip_proxied          # 設定請求者**伺服器,該如何快取內容

gzip_vary on|off  # 是否傳輸gzip壓縮標誌

注意:

/***這樣的二進位制檔案,不必壓縮

因為壓縮率比較小, 比如100->80位元組,而且壓縮也是耗費cpu資源的.

比較小的檔案不必壓縮,

配置Nginx gzip壓縮功能

配置nginx gzip壓縮功能 提供了對檔案內容壓縮的功能,允許將輸出內容在傳送到客戶端之前根據具體的策略壓縮節約貸頻寬。功能同apache的mod deflate壓縮功能。依賴ngx http gzip module模組。預設已安裝 網頁壓縮是一項由 web 伺服器和瀏覽器之間共同遵守的協議,也...

Nginx gzip壓縮 expires快取時間

原理 瀏覽器 請求 宣告可以接受 gzip壓縮 或 deflate壓縮 或compress 或 sdch壓縮 從http協議的角度看 請求頭 宣告 acceopt encoding gzip deflate sdch 是指壓縮演算法,其中sdch是google倡導的一種壓縮方式,目前支援的伺服器尚不...

Nginx gzip壓縮提公升效能

gzip是gnuzip的縮寫,最早用於unix系統的檔案壓縮。http協議上的gzip編碼是一種用來改進web應用程式效能的技術,web伺服器和客戶端 瀏覽器 必須共同支援gzip。目前主流的瀏覽器,chrome,firefox,ie等都支援該協議。常見的伺服器如apache,nginx,iis同樣...