HTTP的请求头标签 If-Modified-Since

本文介绍了HTTP请求头中的If-Modified-Since标签,用于优化客户端缓存,通过比较服务器文件最后修改时间来决定是否更新内容。当时间一致时,服务器返回304状态码,客户端使用本地缓存;不一致则返回200状态码和新内容。通过Fiddler工具进行了实际操作演示。
摘要由CSDN通过智能技术生成

一直以来没有留意过HTTP请求头的IMS(If-Modified-Since)标签。

  最近在分析Squid的access.log日志文件时,发现了一个现象。

  就是即使是对同一个文件进行HTTP请求,第一次和第二次产生的网络流量数据也是不一致的。

  在调查的过程中,逐渐了解了HTTP的If-Modified-Since的头标签的作用。

  大家都知道客户端浏览器是有缓存的,里面存放之前访问过的一些网页文件。

  例如IE,会把缓存文件存到“C:\Documents and Settings\zh2000g\Local Settings\Temporary Internet Files”

  这样类似的目录里。

  其实缓存里存储的不只是网页文件,还有服务器发过来的该文件的最后服务器修改时间。

  If-Modified-Since是标准的HTTP请求头标签,在发送HTTP请求时,把浏览器端缓存页面的最后修改时间一起发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较。

  如果时间一致,那么返回HTTP状态码304(不返回文件内容),客户端接到之后,就直接把本地缓存文件显示到浏览器中。

  如果时间不一致,就返回HTTP状态码200和新的文件内容,客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示到浏览器中。

  下面用一个简单的小例子说明一下。

  由于演示例子需要截取HTTP Request和Response的信息,我在这里使用的工具是Fiddler。

  感兴趣的朋友可以到【htt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值