gzip是GNU zip的縮寫,它是一個GNU自由軟件的文件壓縮程序,也常常用來表示gzip這種文件格式。軟件的做者是Jean-loup Gailly和Mark Adler。1992年10月31日第一次公開發布,版本號是0.1,目前的穩定版本是1.2.4。web
Gzip主要用於Unix系統的文件壓縮。咱們在Linux中常常會用到後綴爲.gz的文件,它們就是GZIP格式的。現今已經成爲Internet 上使用很是廣泛的一種數據壓縮格式,或者說一種文件格式。 當應用Gzip壓縮到一個純文本文件時,效果是很是明顯的,通過GZIP壓縮後頁面大小能夠變爲原來的40%甚至更小,這取決於文件中的內容。算法
HTTP協議上的GZIP編碼是一種用來改進WEB應用程序性能的技術。web開發中能夠經過gzip壓縮頁面來下降網站的流量,而gzip並不會對cpu形成大量的佔用,略微上升,也是幾個百分點而已,可是對於頁面卻能壓縮30%以上,很是划算。瀏覽器
利用Apache中的Gzip模塊,咱們可使用Gzip壓縮算法來對Apache服務器發佈的網頁內容進行壓縮後再傳輸到客戶端瀏覽器。這樣通過壓縮後實際上下降了網絡傳輸的字節數(節約傳輸的網絡I/o),最明顯的好處就是能夠加快網頁加載的速度。緩存
網頁加載速度加快的好處不言而喻,除了節省流量,改善用戶的瀏覽體驗外,另外一個潛在的好處是Gzip與搜索引擎的抓取工具備着更好的關係。例如 Google就能夠經過直接讀取gzip文件來比普通手工抓取更快地檢索網頁。在Google網站管理員工具(Google Webmaster Tools)中你能夠看到,sitemap.xml.gz 是直接做爲Sitemap被提交的。服務器
而這些好處並不單單限於靜態內容,PHP動態頁面和其餘動態生成的內容都可以經過使用Apache壓縮模塊壓縮,加上其餘的性能調整機制和相應的服務器端緩存規則,這能夠大大提升網站的性能。所以,對於部署在Linux服務器上的PHP程序,在服務器支持的狀況下,咱們建議你開啓使用Gzip Web壓縮。網絡
2、Web服務器處理HTTP壓縮的過程以下:工具
1. Web服務器接收到瀏覽器的HTTP請求後,檢查瀏覽器是否支持HTTP壓縮(Accept-Encoding 信息);性能
2. 若是瀏覽器支持HTTP壓縮,Web服務器檢查請求文件的後綴名;網站
3. 若是請求文件是HTML、CSS等靜態文件,Web服務器到壓縮緩衝目錄中檢查是否已經存在請求文件的最新壓縮文件;搜索引擎
4. 若是請求文件的壓縮文件不存在,Web服務器向瀏覽器返回未壓縮的請求文件,並在壓縮緩衝目錄中存放請求文件的壓縮文件;
5. 若是請求文件的最新壓縮文件已經存在,則直接返回請求文件的壓縮文件;
6. 若是請求文件是動態文件,Web服務器動態壓縮內容並返回瀏覽器,壓縮內容不存放到壓縮緩存目錄中。