Http响应头之Date与Age
2016-04-03 21:50
417 查看
参考:http://www.xuebuyuan.com/1496558.html
http://blog.csdn.net/xifeijian/article/details/46460631
HTTP没有为用户提供一种手段来区分响应是缓存命中的(比如响应是来自代理服务器的),还是访问原始服务器得到的。客户端有一种方法能判断响应是否来自缓存,就是使用Date首部。将响应中Date首部的值与当前时间进行比较,如果响应中的日期值比较早,客户端通常就可以认为是来自缓存的;客户端也可以通过Age首部来检测缓存的响应,通过这个首部可以分辨出这条响应的使用期。否则,则认为是来自原始服务器中的。
Date:Date头域表示消息发送的时间,缓存在评估响应的新鲜度时要用到,时间的描述格式由RFC822定义。例如,Date: Thu, 11 Jul 2015 15:33:24 GMT。
Age:当代理服务器用自己缓存的实体去响应请求时,用该头部表明该实体从产生到现在经过多长时间了。
以下以请求百度为例,get http://www.baidu.com/,返回200,响应Date从下图可以看到。
再看另一个静态资源请求,get http://s1.bdstatic.com/r/www/cache/static/jquery/jquery-1.10.2.min_f2fb5194.js,HTTP响应码为304,Date和Age在下图中可以看到,Date与主请求http://www.baidu.com/一致,未命中代理缓存服务器(缓存服务器拿DATE去原始服务器进行缓存新鲜度检查,304表示服务器对象未修改,缓存再验证命中,缓存只需更新新的首部,如果新鲜度检测未命中,则返回200),所以,实际上该资源是从原始服务器中获得。
假设该请求Date比当前时间要早,并且如果Date+Age(秒)与主请求http://www.baidu.com/中的Date一致,那么可以认为从代理缓存服务器中获取资源,缓存命中。
http://blog.csdn.net/xifeijian/article/details/46460631
HTTP没有为用户提供一种手段来区分响应是缓存命中的(比如响应是来自代理服务器的),还是访问原始服务器得到的。客户端有一种方法能判断响应是否来自缓存,就是使用Date首部。将响应中Date首部的值与当前时间进行比较,如果响应中的日期值比较早,客户端通常就可以认为是来自缓存的;客户端也可以通过Age首部来检测缓存的响应,通过这个首部可以分辨出这条响应的使用期。否则,则认为是来自原始服务器中的。
Date:Date头域表示消息发送的时间,缓存在评估响应的新鲜度时要用到,时间的描述格式由RFC822定义。例如,Date: Thu, 11 Jul 2015 15:33:24 GMT。
Age:当代理服务器用自己缓存的实体去响应请求时,用该头部表明该实体从产生到现在经过多长时间了。
以下以请求百度为例,get http://www.baidu.com/,返回200,响应Date从下图可以看到。
再看另一个静态资源请求,get http://s1.bdstatic.com/r/www/cache/static/jquery/jquery-1.10.2.min_f2fb5194.js,HTTP响应码为304,Date和Age在下图中可以看到,Date与主请求http://www.baidu.com/一致,未命中代理缓存服务器(缓存服务器拿DATE去原始服务器进行缓存新鲜度检查,304表示服务器对象未修改,缓存再验证命中,缓存只需更新新的首部,如果新鲜度检测未命中,则返回200),所以,实际上该资源是从原始服务器中获得。
假设该请求Date比当前时间要早,并且如果Date+Age(秒)与主请求http://www.baidu.com/中的Date一致,那么可以认为从代理缓存服务器中获取资源,缓存命中。
相关文章推荐
- 20159320《网络攻防实践》第5周教材总结
- 20159320《网络攻防实践》第5周视频总结
- 20159320《网络攻防实践》第5周学习总结
- TCP 组包和拆包算法
- TCP的理解实例
- 【OkHttp3源代码分析】(一)Request的execute
- 大端序和小端序
- 详解https是如何确保安全的?
- Android入门(二十)HttpURLConnection与HttpClient
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?
- http头中的host字段详解
- TCP/IP协议:最大报文段长度(MSS)是如何确定的(1)
- Http报头Accept与Content-Type的区别
- http接口自动化测试框架实现
- 20159302《网络攻击与防范》第五周学习总结
- HttpClient学习
- 神经网络
- python 网络编程 (1)
- TCP/IP协议详解
- Http头:only-if-cached