壓縮你的PHP、JS、CSS等文本類型代碼_PHP教程

來源:互聯網
上載者:User

眾所周知,減小代碼在傳輸中的大小,就能提高頁面的傳輸速度,開啟網頁也就快 了,這是基於頻寬瓶頸的理論,當然伺服器速度受到其他很多因素的影響, 有PHP代碼執行速度,資料庫訪問速度,磁碟讀寫IO速度等,無論怎樣,頻寬影響是非常大,而受中國電信抑或是中國網通還有其他的一些電信公司的制約,在 伺服器網路頻寬並不很充裕的條件下,壓縮代碼傳輸將會大大節省頻寬!

本文講述通過使用Gzip壓縮方式自動壓縮相應的代碼,在訪問者瀏覽器端會自動還原成代碼以便瀏覽器執行,至於編寫代碼時的良好風格節省空間的方法不在本文之列。

GZIP 最早由Jean-loup Gailly和Mark Adler建立,用於UNIX系統的檔案壓縮。我們在 LINUX中經常會用到尾碼為.gz的檔案,它們就是GZIP格式的。現今已經成為Internet 上使用非常普遍的一種資料壓縮格式,或者說一種檔案格式。HTTP協議上的GZIP編碼是一種用來改進WEB應用程式效能的技術。大流量的WEB網站常常 使用GZIP壓縮技術來讓使用者感受更快的速度。

首先測試一下你的網站各個頁面是否採用了Gzip壓縮,這裡有個測試載入器

目前,有兩種主流方法實現Gzip壓縮。
一、mod_deflate模組

mod_deflate 模組提供了DEFLATE輸出過濾器,允許伺服器在將輸出內容發送到用戶端以前進行壓縮(應該也是採用gzip資料格式壓縮,deflate是一種壓縮算 法)以節約頻寬。Apache 1.3.x時代使用mod_gzip模組來實現,Apache2已經內建了mod_deflate模組。

這種方法要求安裝了Apache的http伺服器軟體,並且載入了deflate模組。

使用方法:

在網頁發布目錄的.htaccess檔案中加入:

  1. <ifmodule mod_deflate.c>
  2. AddOutputFilter DEFLATE html htm xml php js css
  3. ifmodule>

這樣就會使得Apache在發布html,xml,php,js,css這樣的檔案時會採用Gzip方式傳輸資料,這個方法簡單,一勞永逸,但一般使用的虛擬機器主機並沒有安裝deflate模組,也不一定是Apache的,不過我們還有辦法:

二、ob_gzhandler函數
主機要求:支援PHP,PHP版本在4.0.4以上,安裝有zlib庫

對於PHP檔案傳輸中壓縮,只需在原來的 PHP 檔案首行加上




並且在結尾加上


複製時還原為正規的PHP格式。

對於js檔案,則在原來js檔案的首行加上


末尾同樣加上


然後存為abc.js.PHP這樣的檔案,並且修改指向這個所有html,PHP等檔案。







對於a.html檔案就直接改成a.PHP訪問好了,如果要保留原來的URL就 修改.htaccess 偽URL或者建立一個網頁跳轉吧,而其他的CSS等文本也就依此推算出該怎麼改了。壓縮效能說明:jQuery庫原始碼為50k左右,先寫代碼時最佳化,去除空格組合函數等使其減小至26k,再使用GZIP壓縮至14k!


再附一張其他網站的壓縮效能比較圖,圖中三種方式都是GZIP,只是執行的方法不同而已。

http://www.bkjia.com/PHPjc/478443.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/478443.htmlTechArticle眾所周知,減小代碼在傳輸中的大小,就能提高頁面的傳輸速度,開啟網頁也就快 了,這是基於頻寬瓶頸的理論,當然伺服器速度受到其他...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.