《HTTP权威指南》 – 11.验证码和新鲜度
服务器应当告知客户端能够将内容缓存多长时间,在这个时间内就是新鲜的。服务器可以用这两个首部之一来提供信息:
- Expires(过期)
- Cache - Control(缓存控制)
Expires首部 规定文档“过期”的具体时间:
语法:Expires :Sun Mar 18 23 :59:59 GMT 2001。
Cache-Control 首部可以用秒数来规定文档最长使用期:从文档离开服务器之后算起的总计时间。
Cache-Control 首部的指令:
- no - cache 请求:在重新向服务器验证之前,不要返回文档的缓存副本;
- no - stroe 请求:不要返回文档的缓存副本,不要保存服务器的相应;
- max - stble请求:文档允许过期,但不能超过指令中指定的过期指;
- min - fresh请求:文档的使用期不能小于这个指定的时间与它的当前存活时间只和,也就是说:响应必须至少在指定的这段时间内保持新鲜;
- max - age 请求:缓存中的文档不能超过指定的使用期;
- no - transform请求:文档在发送之前不允许被转换;
- only - if - cached请求:只有文档在缓存中才发送,不要联系原始服务器;
- public 响应:响应可以被任何服务器缓存;
- private 响应:响应可以被缓存,但只能被单个客户端访问;
- no - cache 响应:如果该指令伴随一个首部列表的话,那么内容可以被缓存并提供给客户端,但必须先删除所列出的首部。如果没有指定首部,缓存中的副本在没有重新向服务器验证之前不能提供给客户端;
- no - store 响应:响应不允许被缓存;
- no - transform 响应:响应在提供给客户端之前不能做任何形式的修改;
- must - revelidate 响应:响应在提供给客户端之前必须更新向服务器验证;
- proxy - revelidate 响应:共享的缓存在提供给客户端之前必须重新向服务器验证,私有的缓存可以忽略;
- max - age 响应:指定文档可以被缓存的时间以及新鲜度的最长时间;
- s - max - age 响应:指定文档作为共享缓存时的最长使用时间,私有缓存可以忽略;
有条件的请求与验证码:
HTTP为客户端提供了一种方法,仅当资源改变时才请求副本,这种特殊请求成为有条件的请求。
例如:某个缓存服务器可能发送下面的有条件报文给服务器,仅当文件 / hello.html
从 2002年6月29日
之后发生改变的情况下才发送它:
GET / hello.html HTTP / 1.0 If - Modified - Since : Sat : 29 Jan 2002 14:30:00 GMT;
有条件的请求通常是以 `If - ` 开头的首部来实现的。
有条件的请求类型:
If-Modified-Since Last-Modified
如果在前一条响应的 Last-Modified 首部中说明的时间之后,资源的版本发生变化,就发送副本;
If-UnModified-Since Last-Modified
仅在前一条响应的 Last-Modified 首部中说明的时间之后,资源的副本没有变化,才发送副本;
If-Match ETag
如果实体的标记与前一次首部中的ETag相同,就发送该资源的副本;
If-None-Match ETag
如果实体的标记与前一次响应首部中的ETag不同,就发送该资源的副本;
### 图灵图书 -- HTTP权威指南
豆瓣读书 -- HTTP权威指南
《HTTP权威指南》 – 11.验证码和新鲜度的更多相关文章
- Node.js权威指南 (11) - 加密与压缩
11.1 加密与解密处理 / 295 11.1.1 crypto模块概述 / 295 11.1.2 散列算法 / 296 11.1.3 HMAC算法 / 297 11.1.4 公钥加密 / 29811 ...
- javascript权威指南第11章 DOM扩展
//javascript 权威指南 第三版 第11章 DOM扩展 //取得body元素 var body = document.querySelector("body"); //取 ...
- 《http权威指南》读书笔记11
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
- [置顶] PHP开发实战权威指南-读书总结
从今年开始,断断续续学习PHP已经有4个月了. 最初,认真学习PHP几天,就弄WordPress搭建了一个个人博客,这也符合技术人的实践理念. 最近,重温PHP开发实战权威指南,做点总结,整理下自己学 ...
- 《http权威指南》读书笔记14
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
- 《http权威指南》读书笔记7
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
- PHP开发实战权威指南-读书总结
从今年开始,断断续续学习PHP已经有4个月了.最初,认真学习PHP几天,就弄WordPress搭建了一个个人博客,这也符合技术人的实践理念. 最近,重温PHP开发实战权威指南,做点总结,整理下自己学习 ...
- HTTP头部信息和错误代码详解-《HTTP权威指南》
最近在调试 前后端分离的请求测试,遇到了一个405错误, 无法接受,于是开始了人肉搜索405. 最后 还是HTTP头部信息里的Accept:application/json 这个Accept 导致的, ...
- maven权威指南学习笔记(五)—— POM
1. 简介 Archetype插件通过 pom.xml 文件创建了一个项目.这就是项目对象模型 (POM),一个项目的声明性描述. 当Maven运行一个目标的时候,每个目标都会访问定 义在项目POM里 ...
- 《javascript权威指南》读书笔记——第一篇
<javascript权威指南>读书笔记——第一篇 金刚 javascript js javascript权威指南 由于最近想系统学习下javascript,所以开始在kindle上看这本 ...
随机推荐
- 使用 Elastic Stack 分析地理空间数据 (二)
文章转载自:https://blog.csdn.net/UbuntuTouch/article/details/106546064 在之前的文章 "Observability:使用 Elas ...
- 使用Recoding Rules优化性能
通过PromQL可以实时对Prometheus中采集到的样本数据进行查询,聚合以及其它各种运算操作.而在某些PromQL较为复杂且计算量较大时,直接使用PromQL可能会导致Prometheus响应超 ...
- FEX-EMU Wine踩坑记录
FEX是一个用于在ARM64平台运行X86软件的工具,比较成熟,但是网上资料很少,所以就写了这篇FEX运行Wine踩坑记录. Termux的Fex不能用(2022年5月) 要在debian系统安装fe ...
- HQL中出现XXX is not mapped的错误
我的代码如下 @Test public void testCollection(){ String hql = "from Order where orderItems is not emp ...
- Nebula Graph介绍和SpringBoot环境连接和查询
Nebula Graph介绍和SpringBoot环境连接和查询 转载请注明来源 https://www.cnblogs.com/milton/p/16784098.html 说明 当前Nebula ...
- LeNet-论文阅读
概述 Yann LeCun, Leon Bottou, Yoshua Bengio, and Patrick Haffner的论文<Gradient-Based Learning Applied ...
- Java学习之路:流程控制
2022-10-11 10:58:41 前言 本文开始流程控制方面的学习,主要包括用户交互和流程控制语句,适合新手学习. 1 用户交互Scanner 1.1 Scanner对象 Java提供了一个可以 ...
- pthread_mutex_t & pthread_cond_t 总结
pthread_mutex_t & pthread_cond_t 总结 一.多线程并发 1.1 多线程并发引起的问题 我们先来看如下代码: #include <stdio.h> # ...
- 不允许还有Java程序员不了解BlockingQueue阻塞队列的实现原理
我们平时开发中好像很少使用到BlockingQueue(阻塞队列),比如我们想要存储一组数据的时候会使用ArrayList,想要存储键值对数据会使用HashMap,在什么场景下需要用到Blocking ...
- JSP中使用response对象实现定时跳转网页
5秒后跳转到登录页面 <% response.setHeader("refresh","5;URL="login.jsp"); %>