高分求教HTTP缓存的问题!请大家帮忙!_html/css_WEB-ITnose

企鹅博客
企鹅博客
企鹅博客
28888
文章
0
评论
2020年9月14日10:56:35 评论 4 views 1193字阅读3分58秒

aa

高分求教HTTP缓存的问题!请大家帮忙!_html/css_WEB-ITnose高分求教HTTP缓存的问题!请大家帮忙!_html/css_WEB-ITnose

1、

为了验证读取这个页面是不是从缓存中读取,我进行如下操作:

第一次正常打开这个页面。然后第二次,在地址栏按回车(不是刷新)

我在IE用httpwatch看,确实是从缓存中读的文件,而且没有向服务器端发送HTTP请求

我在FireFox下用FireBug看,应该也是从缓存中读取的文件,因为这个页面只有了一个HTTP请求(第一次是3个)。这次请求里有HTTP请求头和相应头。

但是我的问题是,它为什么还会发起这个请求呢?不是应该直接从本地读取文件吗?

2、

为了使这个文件禁用缓存,我做了如下设置:

Expires: -1

Cache-Control: no-cache

pragma: no-cache

用IE看,确实没有从缓存中读取文件,而是发起了一个HTTP请求,而且返回了200。但是我的问题是,如果没有从缓存中读这个文件,那它浏览器应该向服务器发送3次请求才对啊?即便图片被缓存,也应该发起请求返回304码以后,再从本地读啊。为什么它只发起了一次呢???

3、

浏览器一般默认缓存多久呢?如何在HTTP响应头信息中设置呢?

本人菜鸟~打这么多不容易,还请各位高手仔细读下我的问题,多谢多谢!!!

回复讨论(解决方案)

向服务器发送请求是确认缓存中是不是最新的可用的。

向服务器发送请求是确认缓存中是不是最新的可用的。
你是在回答我的第一个问题吗?
那为什么在IE下用httpwatch看,是没有发起请求的,而且即便我把页面代码改了,用回车看,还是跟没有改过一样,说明它没有确认缓存中是不是最新可用的。
好像只有请求图片什么的,才查看缓存中是不是最新的,而页面缓存不查看。

你可以在请求的时候传一个时间参数这样就能跳过浏览器缓存了

楼主,难道你觉得缓存以后连一个http都没有嘛?这当然不可能,它肯定是要访问服务器,但这个时候页面内容不是从服务器返回的,而是服务器告诉浏览器,你用自己的缓存吧,于是。。

楼主,难道你觉得缓存以后连一个http都没有嘛?这当然不可能,它肯定是要访问服务器,但这个时候页面内容不是从服务器返回的,而是服务器告诉浏览器,你用自己的缓存吧,于是。。
但是用IE的httpwatch抓包看,就是直接读的缓存,没有向服务器发送任何信息。应该是只有缓存图片什么的才发个请求吧,然后判断最后更新时间是不是和服务器上的相同。页面应该不用。

浏览器会把缓存的最后更新时间信息发送给服务器,缓存是否可用应该是服务器返回给浏览器的。

浏览器会把缓存的最后更新时间信息发送给服务器,缓存是否可用应该是服务器返回给浏览器的。
首先谢谢你回答我的问题~但麻烦大家仔细看看我的问题吧。。。我上面已经说了,我这个问的是页面缓存的问题,不是图片什么的。这个页面被缓存时发起的请求里压根就没有“If-Modified-Since”这个参数,所以它也没有跟服务器匹对最后修改时间。

恳请各位仔细读下我的问题,多谢!多谢!!!

有人能帮帮忙吗?

继续阅读
weinxin
欢迎加入中国站长博客之家
本站的所有资源都会上传分享到博客之家,希望大家互相学习交流进步。
PHP中钩子函数的实现与认识 php教程

PHP中钩子函数的实现与认识

假如有这么一段程序: function fun(){ fun1(); fun2(); }   首先程序执行完fun1()之后执行fun2()然后fun()结束。   但是,假如我们想对函数做一些变化。...
VS2010中呈现控件时出错的解决方法 C#.Net教程

VS2010中呈现控件时出错的解决方法

在制作控件的时候容易遇到“呈现控件时出错”“发生了未处理的异常。未将对象引用设置到对象的实例。”这样的错误,如下图:(也有可能仅仅只是因为未设置runat="server"标签而导致该错误,请先检查该...
详解python的super()的作用和原理 python教程

详解python的super()的作用和原理

Python中对象方法的定义很怪异,第一个参数一般都命名为self(相当于其它语言的this),用于传递对象本身,而在调用的时候则不必显式传递,系统会自动传递。 今天我们介绍的主角是super(), ...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: