服务器应当告知客户端能够将内容缓存多长时间,在这个时间内就是新鲜的。服务器可以用这两个首部之一来提供信息:

  1. Expires(过期)
  2. 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.html2002年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权威指南

转载于:https://www.cnblogs.com/duanbiaowu/p/5036815.html

《HTTP权威指南》 – 11.验证码和新鲜度相关推荐

  1. HTML5权威指南 11.通信API

    1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <metacharset="UTF-8"> 6 &l ...

  2. JavaScript权威指南 第11章JavaScript标准库

    JavaScript权威指南 第11章JavaScript标准库 第11章 JavaScript标准库 11.1 集合与映射 11.1.1 Set类 11.1.2 Map类 11.1.3 WeakMa ...

  3. 《802.11无线网络权威指南》摘录

    <802.11无线网络权威指南>摘录 ---------------------------- 第一.二章: 无线频谱管控: 美国:FCC联邦通信委员会 欧洲:FRO欧洲无线通信局 其他地 ...

  4. 802.11基本概念介绍【802.11 无线网络权威指南学习总结1】

    802.11基本概念介绍[802.11 无线网络权威指南学习总结1] 1.802.11网络技术介绍 IEEE 802 规格的重心放在 OSI 模型最底下的两层,因为它们同时涵盖了实体(physical ...

  5. 读书笔记——《802.11无线网络权威指南》

    读书笔记--<802.11无线网络权威指南> 文章目录 读书笔记--<802.11无线网络权威指南> 概要 摘要 概念 MAC层 成帧细节 用户认证 概要 秉承"不动 ...

  6. 《HTTP权威指南》摘要

    目录 前言 第一章 HTTP 概述 第二章 URL 与资源 第三章 HTTP 报文 报文流 状态码 100~199:信息提示 200~299:成功 300~399:重定向 400~499:客户端错误 ...

  7. HTTP权威指南读书笔记

    <<HTTP权威指南>>读书笔记 第一部分:Web的基础 第1章:HTTP概述 主要内容 1.什么是HTTP 2.HTTP的基本组件 HTTP HTTP:HTTP(Hypert ...

  8. HTTP权威指南自学总结

    HTTP权威指南自学总结 第一章HTTP概述 1.1HTTP 1.2Web客户端和服务器 1.3事务 1.4报文 1.6 TCP/IP 1.7Web结构组件 第二章URL与资源 2.1URL语法 2. ...

  9. HTTP权威指南(国内首本HTTP及其相关核心Web技术权威著作)

    <HTTP权威指南>(国内首本HTTP及其相关核心Web技术权威著作) 基本信息 原书名:HTTP:The Definitive Guide 作者: (美)古尔利(Gourley,D.) ...

最新文章

  1. 中国芯片将靠此超车!RISC-V架构神在哪全解构【附下载】
  2. dp --- acdream原创群赛(16) --- B - Apple
  3. 关于android 5.0报错:dlopen failed: couldn't map ... Permission denied
  4. Python~爬虫~2(requests)
  5. 采药2_纪中2540_dp
  6. ELMo代码详解(一):数据准备
  7. awk高级企业级使用案例
  8. 手动方式安装 eclipse 的svn插件 Subversive和 Subversive SVN Connectors
  9. JEB工具介绍及使用
  10. 扎根黄金赛道,尚未盈利的捍宇医疗如何遨游行业蓝海?
  11. ET框架学习——消息系统之四
  12. 属于计算机与网络技术在医学中应用的是,计算机网络技术在医学论文写作与投稿中的应用...
  13. 数学公式截图转Latex格式
  14. python编程单词排序_Python实现针对中文排序的方法
  15. Vue3.0实现原生高度可自定义菜单组件vue3-menus
  16. Ransomware的斗士——云备份系统
  17. Win8.1 IE11 浏览器无法打开任何网页的解决办法
  18. 如何查看软件是32位还是64位
  19. QQ Tim另存为文件时闪退,错误模块ntdll.dll
  20. 石墨文档代码学习笔记分享

热门文章

  1. ES5-16【utils】数组方法、类数组
  2. Liunx 中tr的用法
  3. LVDS DP等显示器接口简介
  4. Go语言在扫码支付系统中的成功实践
  5. ObserveIT Client安装后屏幕延迟问题
  6. 如何优化JavaScript脚本的性能
  7. 快速上手SpyGlass——CDC检查
  8. chisel快速入门(三)
  9. halcon使用直线标定板,标定相机内参代码
  10. Arduino IDE 配置文件