HTTP协议之响应头Date与Age
2023-09-11 14:21:00 时间
HTTP没有为用户提供一种手段来区分响应是缓存命中的,还是訪问原始server得到的。
client有一种方法能推断响应是否来自缓存。就是使用Date首部。
将响应中Date首部的值与当前时间进行比較。假设响应中的日期值比較早。client通常就能够觉得是来自缓存的;client也能够通过Age首部来检測缓存的响应。通过这个首部能够分辨出这条响应的使用期。否则,则觉得是来自原始server中的。
Date:Date头域表示消息发送的时间,缓存在评估响应的新奇度时要用到,时间的描写叙述格式由RFC822定义。比如。Date: Thu, 11 Jul 2015 15:33:24 GMT。
Age:当代理server用自己缓存的实体去响应请求时,用该头部表明该实体从产生到如今经过多长时间了。
下面以请求百度为例,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/一致,未命中代理缓存server(缓存server拿DATE去原始server进行缓存新奇度检查,304表示server对象未改动,缓存再验证命中,缓存仅仅需更新新的首部,假设新奇度检測未命中。则返回200),所以。实际上该资源是从原始server中获得。
假设该请求Date比当前时间要早,而且假设Date+Age(秒)与主请求http://www.baidu.com/中的Date一致,那么能够觉得从代理缓存server中获取资源,缓存命中。
相关文章
- 应急响应-GHO提取注册表快照
- Reactive(3)5分钟理解 SpringBoot 响应式的核心-Reactor
- 6 —— node —— 响应一个完整的页面
- Node.js之HTTP请求与响应
- 关于IE浏览器以及Firefox下冒泡事件的响应层级
- Node.js之HTTP请求与响应
- [Http] Understand what an HTTP Request is
- HTTP请求报文和HTTP响应报文
- EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器同步输出http-flv协议流是怎么实现的?
- AngularJS 用 Interceptors 来统一处理 HTTP 请求和响应
- 如何让 ABAP 服务器能够响应通过浏览器发起的自定义 HTTP 请求
- 如何给 SAP ABAP SEGW 开发的 OData 服务添加 Access-Control-Allow-Origin 响应头试读版
- Angular 里 HTTP 请求和响应结构的拦截器(interceptors)在 SAP Spartacus 中的应用
- System.ServiceModel.CommunicationException: 接收HTTP 响应时发生错误
- Atitit 微服务实践 艾提拉著 微服务主要解决几个问题负载均很 目录 1. 微服务的模式 http请求层 vs服务层1 1.1. Http vs 服务层优缺点1 2. 实现技术2
- Postman里如何把某个HTTP的请求和响应作为example保存
- 关于 SAP ABAP OData 服务响应里的 d,results 和 __metadata 这几个字段的作用
- 【SpringBoot笔记18】SpringBoot实现统一异常处理、统一结果响应、统一参数校验
- python3 http服务端响应源码
- 内网渗透(十九)之Windows协议认证和密码抓取-网络认证(基于挑战响应认证的NTLM协议)
- HTTP响应
- HTTP之原理,长短连接,响应码,三握四挥,八种方法