SEO小技巧之如何PHP中添加自定义Last-Modified 属性代码

来源:互联网 发布:猪八戒 php模板 编辑:程序博客网 时间:2024/06/03 11:53

默认动态页面(php,asp...)中是没有Last-Modified 属性的,但我们可以在PHP中添加自定义Last-Modified属性值。实现代码很简单,有需要的朋友可以按照以下方法调用(仅限PHP)。

<?php
function re_lastModified ($time_difference){
        $lastModified = time() + $time_difference;
        header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $lastModified) . ' GMT');
}
re_lastModified (3600); 
?>

调用方法:
将上面的代码以文本文件保存,重命名为:Last-Modified.php,在你要显示Last-Modified 属性的PHP文件中最开始加上这段代码:include("Last-Modified.php"); 即可。
例如:<?php include("Last-Modified.php"); ?>

如果你的整个网站的动态页面都要修改此值,比较简单的方法是:将 include("Last-Modified.php"); 这段代码放在你CMS全局调用的PHP文件中。

 

 

代码说明:
re_lastModified (3600);  
3600这个值可以修改成任意正负数值,时间单位是秒,
如果服务端当前时间为:Mon, 18 Nov 2013 16:35:29 GMT ,则上面的代码输出的Last-Modified 值就为:Mon, 18 Nov 2013 17:35:29 GMT,即将服务器端的当前时间加3600秒,然后输出,表明该网页一直都比客户端缓存的至少新3600秒。
当3600这里的值为负数时,表明服务器端的网页比客户端缓存的要旧,这样可以用来节省带宽。

参考资料:
什么是”Last-Modified”?
在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的标记此文件在服务期端最后被修改的时间,格式类似这样:


Last-Modified         Mon, 18 Nov 2013 16:35:29 GMT 
客户端第二次请求此URL时,根据 HTTP 协议的规定,浏览器会向服务器传送 If-Modified-Since 报头,询问该时间之后文件是否有被修改过:
If-Modified-Since        Mon, 18 Nov 2013 16:35:29 GMT 
如果服务器端的资源没有变化,则自动返回 HTTP 304 (Not Changed.)状态码,内容为空,这样就节省了传输数据量。当服务器端代码发生改变或者重启服务器时,则重新发出资源,返回和第一次请求时类似。从而保证不向客户端重复发出资源,也保证当服务器有变化时,客户端能够得到最新的资源。

Last-Modified介绍:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html (英文)
Last-Modified 与网站性能的关系:http://support.google.com/webmas ... &answer=35769#2

关于Last-Modified的更多资料,不懂的朋友可以搜索一下,这方面的资料还是挺多的。

0 0
原创粉丝点击