萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php控制頁面浏覽器緩存與啟用gzip傳送

php控制頁面浏覽器緩存與啟用gzip傳送

本文章來給各位同學介紹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文件最後面就好了。

 代碼如下 復制代碼

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
DeflateCompressionLevel 5
AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript
</IfModule>

重啟你的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影響的研究文章,還可以參考下面的幾篇文章。

具體的效率問題,將繼續監控以作研究

copyright © 萬盛學電腦網 all rights reserved