默认动态页面(php)中是没有Last-Modified 属性的,但我们可以在PHP中添加自定义Last-Modified 属性值。实现代码很简单,有需要的朋友可以按照以下方法调用(仅限PHP)。<?php
function re_lastModified ($time){
$lastModified = time() + $time;
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $lastModified) . ' GMT');
}
re_lastModified (3600);
?>
这段代码可以让Last-Modified 自定义属性值,re_lastModified (3600); 是在time()上再次加上你所给的时间。
这段代码对于php动态网站和伪静态网站非常有用。
那么肯定有人会问什么是”Last-Modified”?在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的标记此文件在服务期端最后被修改的时间,格式类似这样:
Last-Modified Mon, 18 Nov 2016 16:35:29 GMT 客户端第二次请求此URL时,根据 HTTP 协议的规定,浏览器会向服务器传送 If-Modified-Since 报头,询问该时间之后文件是否有被修改过:If-Modified-Since Mon, 18 Nov 2016 16:35:29 GMT 如果服务器端的资源没有变化,则自动返回 HTTP 304 (Not Changed.)状态码,内容为空,这样就节省了传输数据量。当服务器端代码发生改变或者重启服务器时,则重新发出资源,返回和第一次请求时类似。从而保证不向客户端重复发出资源,也保证当服务器有变化时,客户端能够得到最新的资源。
在服务器访问日志里面会有很多蜘蛛爬行304状态码,蜘蛛来到你的网站如果你没有设置Last-Modified那么很可能返回304(网页没有改变),导致页面不收录或者更新很慢。
以上就是对Last-Modified的介绍。
本文出自:琅枫个人博客。如需转载请注明出处!
本文出处:"https://www.phpfeng.cn/learn/other/180.html"