nginx學習之壓縮解壓篇(七)

2022-04-08 18:23:51 字數 1399 閱讀 3587

1.簡介

壓縮響應可以減少傳輸資料的大小,節省頻寬。但過多的壓縮會造成很大的處理開銷。在傳送給客戶端之前,nginx會對響應做壓縮,但是如果後端伺服器已經

壓縮過了,nginx就不再壓縮。

2.開啟壓縮

server

nginx預設只壓縮mime型別為text/plain的響應,使用gzip_types指定額外的壓縮型別。

gzip_min_length:nginx會檢查響應頭中的content-length,如果大於1000位元組,就壓縮,如果小於1000位元組,就不壓縮。

gzip_proxied:假如使用者與nginx之間隔了一層**伺服器(使用者的**伺服器),**伺服器傳送請求到nginx,nginx將請求**給後端伺服器,後端伺服器

接收到響應後,不對響應做壓縮,直接返回給**伺服器。通過gzip_proxied指令來配置如何對這種響應做壓縮。

使用者-----**伺服器----------nginx-----後端伺服器

我們是根據請求中的via頭欄位知道這個請求是來自**伺服器的。

gzip_proxied有多個引數,用於宣告哪些型別的請求對應的響應需要壓縮。

上面的例子中表示:

如果響應中的cache-control欄位的值為:no-cache,no-store,private,就壓縮這個響應,因為它不會快取在使用者的**伺服器上。

expired引數表示nginx會去檢查響應中的expired頭欄位。

auth引數表示nginx會去檢查響應中的authorization頭欄位。乙個經過授權的響應是不能在**伺服器上快取的,必須給終端使用者。

配置壓縮的指令可以寫在http塊中,可以寫在server塊中,可以寫在location塊中。

3.開啟解壓縮

由於有的客戶端可以識別壓縮的響應,有的客戶端無法識別壓縮的響應,所以就需要分別對待。

開啟執行時解壓縮,也就是在傳輸前進行壓縮,在傳送的過程中進行解壓縮?

location /storage/

注意:解壓縮指令在預編譯的開源的nginx中沒有,它屬於乙個單獨的模組,需要編譯到nginx中去。

4.盡量傳送壓縮過的靜態檔案

location /

對於請求/path/to/file,nginx會嘗試先尋找/path/to/file.gz,找到後就傳送出去,如果沒有找到,或者客戶端不支援gzip,那麼就只能傳送

/path/to/file了。

gzip_static的意思是提前壓縮好靜態檔案。

注意:解壓縮指令在預編譯的開源的nginx中沒有,它屬於乙個單獨的模組,需要編譯到nginx中去。

Linux 壓縮 解壓篇

命令 解析 bzip2 file1 壓縮 file1 bunzip2 file1.bz2 解壓 file1.bz2 gzip file1 壓縮 file1 gzip 9 file1 最大程度壓縮 file1 gunzip file1.gz 解壓 file1.gz tar cvf archive.ta...

Huffman編碼壓縮演算法之壓縮與解壓篇

今天的課程設計終於查完了,做了將近一周的huffman也暫時告一段落了。其間用到了壓縮,又開拓了眼界,又認識了乙個標頭檔案,那我們接下來就小結一下用到的壓縮方法。壓縮 while str.size 8 我們壓縮的時候肯定不會這麼巧剛好是8位的,我們就需要處理一下,判斷最後剩下的str.size 的大...

linux 指令篇之壓縮和解壓縮

gzip 壓縮檔案命令,將檔案壓縮為 gz 檔案,注意壓縮後,不會保留原理的檔案 gzip hello.txtgunzip 解壓縮檔案命令,注意解壓後,不會保留壓縮檔案 gunzip hello.txt.gzzip 用於壓縮檔案,unzip 用於解壓 zip 選項 zip 將要壓縮的內容 檔案或目錄...