一、gzip介紹
Gzip是一種流行的文件壓縮算法,現在的應用十分廣泛,尤其是在Linux平臺。當應用Gzip壓縮到一個純文本文件時,效果是非常明顯的,大約可以減少70%以上的文件大小。這取決于文件中的內容。
利用Apache中的Gzip模塊,我們可以使用Gzip壓縮算法來對Apache服務器發布的網頁內容進行壓縮后再傳輸到客戶端瀏覽器。這樣經過壓縮后實際上降低了網絡傳輸的字節數,最明顯的好處就是可以加快網頁加載的速度。
網頁加載速度加快的好處不言而喻,除了節省流量,改善用戶的瀏覽體驗外,另一個潛在的好處是Gzip與搜索引擎的抓取工具有著更好的關系。例如 Google就可以通過直接讀取gzip文件來比普通手工抓取更快地檢索網頁。在Google網站管理員工具(Google Webmaster Tools)中你可以看到,sitemap.xml.gz 是直接作為Sitemap被提交的。
而這些好處并不僅僅限于靜態內容,PHP動態頁面和其他動態生成的內容均可以通過使用Apache壓縮模塊壓縮,加上其他的性能調整機制和相應的服務器端 緩存規則,這可以大大提高網站的性能。因此,對于部署在Linux服務器上的PHP程序,在服務器支持的情況下,我們建議你開啟使用Gzip Web壓縮。
二、Web服務器處理HTTP壓縮的過程如下:
1. Web服務器接收到瀏覽器的HTTP請求后,檢查瀏覽器是否支持HTTP壓縮(Accept-Encoding 信息);
2. 如果瀏覽器支持HTTP壓縮,Web服務器檢查請求文件的后綴名;
3. 如果請求文件是HTML、CSS等靜態文件,Web服務器到壓縮緩沖目錄中檢查是否已經存在請求文件的最新壓縮文件;
4. 如果請求文件的壓縮文件不存在,Web服務器向瀏覽器返回未壓縮的請求文件,并在壓縮緩沖目錄中存放請求文件的壓縮文件;
5. 如果請求文件的最新壓縮文件已經存在,則直接返回請求文件的壓縮文件;
6. 如果請求文件是動態文件,Web服務器動態壓縮內容并返回瀏覽器,壓縮內容不存放到壓縮緩存目錄中。
下面是兩個演示圖:
未使用Gzip:
開啟使用Gzip后:
三、實施
Apache上利用Gzip壓縮算法進行壓縮的模塊有兩種:mod_gzip 和mod_deflate。 要使用Gzip Web壓縮,請首先確定你的服務器開啟了對這兩個組件之一的支持。在Linux服務器上,現在已經有越來越多的空間商開放了對它們的支持,有的甚至是同時 支持這兩個模塊的。例如目前Godaddy、Bluehost及DreamHosts等空間商的服務器都已同時支持mod_gzip 和mod_deflate。
雖然使用Gzip同時也需要客戶端瀏覽器的支持,不過不用擔心,目前大部分瀏覽器都已經支持Gzip了,如IE、Mozilla Firefox、Opera、Chrome等。
新聞熱點
疑難解答