本文章來給各位同學介紹php控制頁面瀏覽器緩衝與啟用gzip傳送頁面方法,希望此代碼對各位同這會有所協助,同時沒有伺服器許可權的朋友可這樣來實現伺服器gzip頁面傳輸。
php執行個體gzip傳輸頁面
| 代碼如下 |
複製代碼 |
可以用於靜態資源與html頁面,修改一下也適合於其他語言 //緩衝到期時間(Cache-Control, http1.1協義), 推薦使用 $secs = 0; //秒 header("Cache-Control: s-maxage=$secs, max-age=$secs, must-revalidate, proxy-revalidate"); // 緩衝到期時間為24小時(Expires) $offset = 3600 * 24; $expire = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; Header($expire); //Last-Modified, 最後修改的時間 $gmt_mtime = gmdate('D, d M Y H:i:s', time() ) . ' GMT'; header("Last-Modified: " . $gmt_mtime ); //啟用gzip壓縮 ob_start(); ... your php code ... ... your php code ... ... your php code ... header('Content-Length: ' . ob_get_length()); ob_end_flush(); |
如果你有伺服器許可權可參考apache開啟gzip傳輸
一,找到你的httpd.conf檔案,開啟找到如下
LoadModule deflate_module modules/mod_deflate.so
把前面的#去了,因為mod_deflate.so模組預設是關閉的,好了下面一下
二,把現面代碼放到你httpd.conf檔案最後面就好了。
| 代碼如下 |
複製代碼 |
SetOutputFilter DEFLATE DeflateCompressionLevel 5 AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript
|
重啟你的apache就KO了
iis開啟gzip頁面傳輸
1. 開啟Internet資訊服務(IIS)管理器,右擊“網站”-》“屬性”,選擇“服務”。在“HTTP壓縮”框中選中“壓縮應用程式檔案”和“壓縮靜態檔案”,按需要設定“臨時目錄”和“臨時目錄的最大限制”;
2. 在Internet資訊服務(IIS)管理器,右擊“Web服務擴充”-》“增加一個新的Web服務擴充。。.”,在“建立Web服務擴充”框中輸入副檔名“HTTP Compression”,添加“要求的檔案”為C:WINDOWSsystem32inetsrvgzip.dll,其中Windows系統目錄根據您的安裝可能有所不同,選中“設定擴充狀態為允許”;
3. 使用文字編輯器開啟C:WindowsSystem32inetsrvMetaBase.xml(建議先備份),
找到Location =“/LM/W3SVC/Filters/Compression/gzip用於設定gzip壓縮,
找到Location =”/LM/W3SVC/Filters/Compression/deflate“用於設定deflate壓縮。 上面兩個節點緊挨著。並且設定的屬性相同。
如果需要壓縮動態檔案,則將HcDoDynamicCompression設定為”TRUE“,
並在HcScriptFileExtensions中增加您要壓縮的動態檔案尾碼名,如aspx;
如果需要壓縮靜態檔案,則將HcDoStaticCompression和HcDoOnDemandCompression設定為”TRUE“,
並在HcFileExtensions中增加您需要壓縮的靜態檔案尾碼名,如xml、css等;
HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的壓縮率,數值在0-10, 預設為0。
HcDynamicCompressionLevel屬性說明:HcDynamicCompressionLevel Metabase Property
HcOnDemandCompLevel 屬性說明:HcOnDemandCompLevel Metabase Property
說明: 這兩個屬性值一般推薦設定為9, 具有最佳性價比。
注意
1. 在編輯MetaBase.xml前需要停止IIS,可以使用 net stop iisadmin
2. 修改完成後開啟iisadmin服務,並執行iisreset命令
關於SEO的測試
壓縮是否對SEO有影響,經測試,開啟後仍然可以被很好的收錄。
關於對SEO影響的研究文章,還可以參考下面的幾篇文章。
具體的效率問題,將繼續監控以作研究
http://www.bkjia.com/PHPjc/632650.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632650.htmlTechArticle本文章來給各位同學介紹php控制頁面瀏覽器緩衝與啟用gzip傳送頁面方法,希望此代碼對各位同這會有所協助,同時沒有伺服器許可權的朋友可...