HTTP请求头标签 If-Modified-Since
来源:互联网 发布:centos 桌面添加组件 编辑:程序博客网 时间:2024/05/16 13:04
先说说If-Modified-Since的作用吧:
If-Modified-Since是标准的HTTP请求头标签,在发送HTTP请求时,把浏览器端缓存页面的最后修改时间一起发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较。
如果时间一致,那么返回HTTP状态码304(不返回文件内容),客户端接到之后,就直接把本地缓存文件显示到浏览器中。
如果时间不一致,就返回HTTP状态码200和新的文件内容,客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示到浏览器中。
下面我们用一个小例子来验证下:
例子中我们会抓取Http请求内容,这里我用到的工具是HttpWatch Professional,浏览器为IE
①. 在服务器中创建简单的页面,这里我用的是index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
This is my JSP page. <br>
<img src="xpic5423.jpg">
</body>
</html>
②. 启动服务器,在浏览器中访问该页面,使用工具抓取Http请求信息:
这次抓取,我们可以获得以下信息:
(1)因为是第一次访问该页面,客户端发请求时,请求头中没有If-Modified-Since标签。
(2)服务器返回的HTTP状态码是200,并发送页面的全部内容。
(3)服务器返回的HTTP头标签中有Last-Modified,告诉客户端页面的最后修改时间。
③. 在浏览器中刷新一下页面,捕捉到以下信息:
这次抓取,我们可以获得以下信息:
(1)客户端发HTTP请求时,使用If-Modified-Since标签,把上次服务器告诉它的文件最后修改时间返回到服务器端了。
(2)因为文件没有改动过,所以服务器返回的HTTP状态码是304,没有发送页面的内容。
综上:HTTP的If-Modified-Since头标签与客户端缓存相互配合,大大节约了网络流量。
- HTTP请求头标签 If-Modified-Since
- HTTP的请求头标签 If-Modified-Since(304 200)
- HTTP的请求头标签If-Modified-Since
- HTTP的请求头标签 If-Modified-Since
- HTTP的请求头标签 If-Modified-Since
- HTTP的请求头标签 If-Modified-Since
- HTTP的请求头标签 If-Modified-Since
- HTTP的请求头标签 If-Modified-Since
- http请求头If-Modified-Since & If-None-Match
- HTTP的请求头 Last-Modified 与 If-Modified-Since 和 If-None-Match 与 ETags
- If-Modified-Since标签
- Vollery框架请求网络去除Header中的IF-MODIFIED-SINCE头标签
- HTTP头:If-Modified-Since, If-None-Match
- 今天理解了一下HTTP头的Last-Modified 与If-Modified-Since
- 今天理解了一下HTTP头的Last-Modified 与If-Modified-Since
- If-Modified-Since in HTTP headers
- http expires cache-control last-modified if-modified-since
- http中Last-Modified 与If-Modified-Since的说明
- android组件ImageView和ImageButton无法正常使用
- C#_项目打包附加数据库
- MTK移植总结
- 对二叉树的基本操作的类模板封装
- Flex4 数据库异步调用问题及解决方法
- HTTP请求头标签 If-Modified-Since
- [feature phone系列]彩信的架构和实现原理
- 内核中的likely和unlikely宏定义
- loadView和viewDidLoad,即view的生命周期浅析
- 手动启动和停止mysqld.exe
- Android 解压zip文件
- 我秀目录页定位分析
- ZOJ 2421
- CSDN的博客搜索功能太弱,教你怎么搜索自己博客的文章