程晓晖

博客园 首页 新随笔 联系 订阅 管理

前进,后退,点链接,还有在地址栏中输入了url地址按下回车

这几个操作,如果原先的页面有res1.setHeader("Cache-Control", "max-age=xxxx");

那么在xxxx秒之内是不会像服务器发送请求的,直接取得缓存里面的东西,如果是在xxxx秒之后的话,就是下面的情况了。

 

注意,如果是刷新页面的话,情况就会有不同,浏览器会去重新发送请求到服务器,而不管设置的max-age,请求端会向服务器传递一个If-Modified-Since属性,告诉浏览器,最后一次从服务器上真正把东西下载下来的时间,服务器接受到这个请求,首先得到的是请求的资源的最后修改时间,这个一般的web服务器自动处理了,像Apache,然后把这个时间和穿过来的时间进行比较,如果得到的最后修改时间比穿过来的时间晚的话,则把内容传输给浏览器,如果最后修改时间比穿过来的时间早或者相等,那么不同将实际内容传递给浏览器,而是传递一个304状态码,浏览器得到这个状态码之后,知道了服务器已经确认了这个文件没有发生过变化,然后就去缓存中取得原来从服务器上下载过来的资源。

 

其实就是这么点事。呵呵。

posted on 2010-11-10 12:15  fumen  阅读(194)  评论(0编辑  收藏  举报