天天看點

利用GZIP壓縮網頁相關知識

網站的通路速度是由多個因素所共同決定的,這些因素例如應用程式的響應速度、網絡帶寬、伺服器性能、與用戶端之間的網絡傳輸速度等等。其中最重要的一個因素是應用程式本身的響應速度,是以當你為網站性能所苦惱時,你第一個需要着手進行處理的便是盡可能的提升應用程式的執行速度,你可以使用緩存或者是優化代碼的執行效率來提升應用程式的速度。

網頁壓縮是一項由 web 伺服器和浏覽器之間共同遵守的協定,也就是說 web 伺服器和浏覽器都必須支援該技術,所幸的是現在流行的浏覽器都是支援的,包括 ie、firefox、opera 等;伺服器有 apache 和 iis 等。

什麼是gzip? gzip是gnu zip的縮寫,它是一個gnu自由軟體的檔案壓縮程式。最早由jean-loup gailly和mark adler建立,用于unix系統的檔案壓縮。我們在linux中經常會用到字尾為.gz的檔案,它們就是gzip格式的。現今已經成為internet上使用非常普遍的一種資料壓縮格式,或者說一種檔案格式。http協定上的gzip編碼是一種用來改進web應用程式性能的技術。大流量的web站點常常使用gzip壓縮技術來讓使用者感受更快的速度。這一般是指www伺服器中安裝的一個功能,當有人來通路這個伺服器中的網站時,伺服器中的這個功能就将網頁内容壓縮後傳輸到來訪的電腦浏覽器中顯示出來。一般對純文字内容可壓縮到原大小的40%。

gzip開啟後有什麼好處? 開啟gzip後會在網頁資料傳輸之前,先使用gzip壓縮後再傳輸給用戶端,用戶端接收之後由浏覽器解壓顯示。這樣就會減小通過網絡傳輸的資料量,提高浏覽的速度。 

gzip web壓縮工作原理 web伺服器處理http壓縮的過程如下: 1. web伺服器接收到浏覽器的http請求後,檢查浏覽器是否支援http壓縮(accept-encoding 資訊); 2. 如果浏覽器支援http壓縮,web伺服器檢查請求檔案的字尾名; 3. 如果請求檔案是html、css等靜态檔案,web伺服器到壓縮緩沖目錄中檢查是否已經存在請求檔案的最新壓縮檔案; 4. 如果請求檔案的壓縮檔案不存在,web伺服器向浏覽器傳回未壓縮的請求檔案,并在壓縮緩沖目錄中存放請求檔案的壓縮檔案;

5. 如果請求檔案的最新壓縮檔案已經存在,則直接傳回請求檔案的壓縮檔案; 6. 如果請求檔案是動态檔案,web伺服器動态壓縮内容并傳回浏覽器,壓縮内容不存放到壓縮緩存目錄中。

下面是兩個示範圖:

未使用壓縮請求響應流程

利用GZIP壓縮網頁相關知識

使用壓縮請求響應流程

利用GZIP壓縮網頁相關知識

不同的web伺服器都可通過配置實作gzip壓縮.

繼續閱讀