静态的
网页,有它。
首先,看看第一种
情况:Apache静态页面
Apache发送到客户端通常含有Last-Modified和ETag的静态页面,和这两个标签的值来自静态
文件的
修改时间和节点。
以下是Apache截获的返回客户端的标头
xml代码
复制代码代码如下所示:
最后更新:星期五,2007年1月26日01:53:34 GMT
ETag:3f9f640-318-cb9f8380
搜索引擎喜欢静态文件,因为它们具有这两个身份来确定一个文件是否已被更新。
动态页面,如两个,PHP等
因为PHP是动态生成的,它的内容是不是与PHP
程序按照确定的时间当最后修改
日期,所以
默认PHP客户端补丁不包含缓存
控制,充分利用缓存必须了解缓存机制,减少B的相互
作用,减少带宽流量,降低
服务器的负担…很多好处。
三。缓存控制的具体含义
首先,解释一下我所测试和理解的标签的含义。
缓存控制:指定请求和响应的缓存机制。在请求
消息或响应消息中
设置缓存控件不会修改另一个消息
处理过程中的缓存过程。请求的缓存指令包括无缓存、无存储、最大老化、最大过期、分钟新鲜和仅缓存。响应消息中的指令包括公共的、私有的、无缓存、无存储、无
转换、无存储、分钟鲜且仅当缓存。
每条消息中的说明如下所示:
公共表明响应可以由任何缓存
区域缓存。
私有表示对单个
用户的响应消息的全部或部分不能由共享缓存处理。这允许服务器只描述用户响应消息的一部分,该消息对其他用户的请求无效。
没有缓存指示请求或响应消息不能被缓存。
没有存储是用来阻止重要信息被无意的。发送请求消息将使请求和响应消息不使用缓存。
最大年龄表示客户端可以接收不超过指定时间(秒)的响应。
min表示客户机可以接收小于当前时间加上指定时间的响应时间。
马克斯过期表示客户端可以接收超过超时时间的响应消息。如果指定了过期消息的值,客户机可以在超周期内接收超出指定值的响应消息。
PHP的使用:
使用头()在输出(如果你使用ob_start()放头的地方)
PHP代码
复制代码代码如下所示:
头('cache-control:最大年龄= 8);
马克斯年龄= 8表示最大生存时间为8秒,超过8秒。
浏览器必须转到服务器重新读取。此时间由用户读取页
启动,过期是绝对时间。
过期:缓存过期的绝对时间。如果它通过指定的时间点,浏览器将不
识别缓存,然后转到服务器请求一个新的。
最后修改:
文档最后修改,它的用途是:1
如果是静态文件,客户机将在缓存中发送时间。Apache会比较它。如果找不到修改,它将直接返回到标题,状态码为304,字节数很少。(高级版本将增加的比较来确定文件是否改变它。
2 php动态文件:
在客户时间比较,PHP将决定是否修改,如果修改的同时,它只会返回1024字节,至于为什么返回1024如果PHP代你可以没有它,文件非常大,它也只返回1024,所以节省带宽,客户端根据修改时间服务器发送自动从缓存文件
显示。
注意:如果没有最后一个修改过的头,缓存控制和过期也可以
工作,但是每个请求将返回真正的文件字节而不是1024。
四、如何
如果您想更好地控制静态页面的缓存,Apache有几个模块可以很好地控制,这里没有讨论。
PHP页面:
有两种东西:
1,不
经常更改的页面与新闻发布相似。这些页面的特点是:将有第一稿几经变化,这将不会被修改的时间。控制
策略应该是:1、第一稿发送到最后修改,最大年龄设定为1天,
升级后,最后的修改更新,最大年龄的时间是修改倍。这似乎更繁琐,也有记录的数目的变化,你也可以期待下一个可能的时间被修改,到期可能过期。
PHP代码
复制代码代码如下所示:
/ /头('cache-control:最大年龄= 86400); / /缓存一天
头('expires:星期一,2007年1月29日08:56:01 GMT '); / /指定的过期时间
(gmdate头'last-modified:'(会D、M Y 01:01:01 ',为时间。'gmt ')); / /格林尼治时间,为时间是一个文件添加时间戳的时候
经常更改的2页
类似bbs,论坛程序,这个页面更新
速度更快。缓存的主要
功能是防止用户频繁刷新列表,从而导致服务器数据库负担,确保更新的及时性,并确保可以利用缓存。
它一般由缓存控制控制,根据论坛发帖
频率灵活控制最大年龄。
PHP代码
复制代码代码如下所示:
头('cache-control:最大年龄= 60); / /缓存一分钟
(gmdate头'last-modified:'(会D、M Y 01:01:01 ',为时间。'gmt ')); / /格林尼治时间,为时间是最后更新的时间戳后
五个额外的
1刷新,走,强制刷新之间的
区别 浏览器上有刷新和转移按钮,一些浏览器
支持Ctrl - F5来强制页面刷新。它们之间
有什么区别 去:用户点击链接是,它充分利用了缓存机制,如果最后修改不与服务器进行通信,使用抓包
工具可以查看发送字节0byte,如果缓存过期后,它会
执行F5刷新行动。
刷新(F5):这个刷新也是根据缓存是否上次修改决定的。如果有一个到304或1024(PHP)的转换,如果没有最后一个更新时间,那么转到服务器读取并返回真正的文档大小。
强制刷新:完全放弃缓存机制,转到服务器读取最新文档,并将标题发送到服务器如下
xml代码
复制代码代码如下所示:
缓存控制:无缓存
2调试工具
查看浏览器和服务器更好的工具HttpWatch Pro,现在的4.1版本,支持IE7
还有其他
代理可以捕获工具分析,HTTP调试。没有,有2000个TCP捕获工具,内置
网络。除了TCP捕获工具,2000与网络监视器,但没有具体到HTTP更难使用。