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的更多资料,不懂的朋友可以搜索一下,这方面的资料还是挺多的。
- SEO小技巧之如何PHP中添加自定义Last-Modified 属性代码
- VS中如何添加自定义代码片段——偷懒小技巧
- VS中如何添加自定义代码片段——偷懒小技巧
- 浏览器缓存之Last-Modified
- Magento中目录添加自定义属性代码
- Last-Modified
- 浏览器缓存分析之Last-Modified/If-Modified-Since
- http中Last-Modified 与If-Modified-Since的说明
- SEO优化之关键字选择小技巧
- 前端优化之SEO技巧小谈
- Altium小技巧之如何批量添加器件封装
- 织梦 如何添加自定义属性
- 如何添加自定义属性到你的view中
- 如何在Xib中添加自定义的属性?
- QML中如何添加自定义的componet属性
- 如何给自定义控件添加自定义属性
- 如何在代码中给控件添加附加属性
- SEO小技巧
- VS2012/VS2013安装教程
- 【BZOJ1028】【JSOI2007】麻将 暴力
- VC++/MFC中WCHAR *转化为char *的方法,即宽字符(LPCWSTR)和普通字符(LPCSTR)互相转化【已解决】
- 有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数
- 【AJAX】你的知识需要总结
- SEO小技巧之如何PHP中添加自定义Last-Modified 属性代码
- android 对当前Activity截屏
- BZOJ 3195 JXOI2012 奇怪的道路 状压DP
- 用maven命令行创建多模块WEB项目
- python编辑器对比和推荐
- TreeMap
- 类型转换
- ImageMagick 拆分透明PNG、合并JPG和Alpha Mask
- 使用Monitor对资源进行保护(一)