If-Modified-Since标签

来源:互联网 发布:weipai.im新域名 编辑:程序博客网 时间:2024/05/22 00:53

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

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

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

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

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

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

  这样类似的目录里。

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

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

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

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

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

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

  感兴趣的朋友可以到【http://www.fiddler2.com/Fiddler2/version.asp】去下载。

  1.首先在服务器创建一个简单的HTML文件,用浏览器访问一下,成功表示HTML页面。Fiddler就会产生下面的捕获信息。

  需要留意的是

  (1)因为是第一次访问该页面,客户端发请求时,请求头中没有If-Modified-Since标签。

  (2)服务器返回的HTTP状态码是200,并发送页面的全部内容。

  (3)服务器返回的HTTP头标签中有Last-Modified,告诉客户端页面的最后修改时间。  

  查看原图(大图) 

  2.在浏览器中刷新一下页面,Fiddler就会产生下面的捕获信息。

  需要注意的是

  (1)客户端发HTTP请求时,使用If-Modified-Since标签,把上次服务器告诉它的文件最后修改时间返回到服务器端了。

  (2)因为文件没有改动过,所以服务器返回的HTTP状态码是304,没有发送页面的内容。

  查看原图(大图) 

  3.用文本编辑器稍微改动一下页面文件,保存。再用浏览器访问一下,Fiddler就会产生下面的捕获信息。

  需要留意的是

  (1)客户端发HTTP请求时,使用If-Modified-Since标签,把上次服务器告诉它的文件最后修改时间返回到服务器端了。

  (2)因为文件被改动过,两边时间不一致,所以服务器返回的HTTP状态码是200,并发送新页面的全部内容。

  (3)服务器返回的HTTP头标签中有Last-Modified,告诉客户端页面的新的最后修改时间。

  查看原图(大图) 

  HTTPIf-Modified-Since头标签与客户端缓存相互配合,大大节约了网络流量。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 吃了凉的胃难受怎么办 吃凉东西胃疼怎么办 游戏只有一个分辨率选项怎么办 玩游戏心态易崩怎么办 打游戏心态炸了怎么办 赛鸽比赛回来拉稀怎么办 鸽子拉竹节水便怎么办 新买的鸽子拉稀怎么办 信鸽羽毛上长了虫子怎么办 羊肉煮熟了太硬怎么办 切菜不小心切到手指怎么办 打荷盘子端错了怎么办 学厨师不会翻锅怎么办? 在饭店上班不给工资怎么办 炒菜的左手拿不起锅怎么办?? 厨师想尽快上手炒菜怎么办? 空调吹的肩膀痛怎么办 学厨师翻锅不会怎么办 肋软骨隆鼻太硬怎么办 百度云下载速度慢怎么办 买的种子没出怎么办 铃木小r烧整流器怎么办 厨师在厨房太热怎么办 被家长投诉体罚孩子怎么办 空腹彩超喝水了怎么办 鱼把厕.所堵了怎么办 螃蟹爬进厕所里怎么办 抄作业被老师发现怎么办 鱼把厕所堵了怎么办 刚憋尿上完厕所之后腹部很疼怎么办 小孩被老师投诉了家长怎么办 家长投诉被老师知道了怎么办 孩子上课不敢回答问题怎么办 孩子犯了错家长怎么办 错了不该错的题怎么办 不该错的题错了怎么办 小学生不爱写课堂作业怎么办 手被老师打肿了怎么办 老师反应孩子学习退步了怎么办 学护理的打屁股针怎么办 教师被投诉打学生怎么办