php控制页面浏览器缓存与启用gzip传送

作者:袖梨 2022-06-24

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影响的研究文章,还可以参考下面的几篇文章。

具体的效率问题,将继续监控以作研究

相关文章

精彩推荐