缓存是指在客户端存储服务器响应,以便客户端不需要一次又一次的请求服务器上相同的资源。服务器响应应该有关于如何进行缓存的信息,以便客户端缓存一段时间内的响应或者永远不缓存服务器响应。

下面是可以用来配置客户端缓存的服务器响应头:

编号 头信息 & 描述
1 Date 
创建资源的日期和时间。
2 Last Modified 
最后修改资源的日期和时间。
3 Cache-Control 
控制缓存的主要头信息。
4 Expires 
缓存到期的日期和时间。
5 Age 
从服务器获取资源持续的秒数。

Cache-Control Header

下面是 Cache-Control 头详情:

编号 指令 & 描述
1 Public 
表明该资源可由任何组件缓存。
2 Private 
表明该资源只能由客户端和服务器缓存,没有中介可以缓存该资源。
3 no-cache/no-store 
表明该资源不可缓存。
4 max-age 
表明缓存在 max-age 指定的秒数内有效。之后,客户端就必须发起另一个请求。
5 must-revalidate 
表明如果 max-age 已经过去了服务器要重新验证资源。

最佳实践

  • 始终保持静态内容比如图像,CSS,JavaScript 可缓存,设置到期日期为 2 到 3 天。
  • 永远不要保持过长的有效期。
  • 动态内容应该只缓存几个小时。

RESTful Web 服务 - 缓存相关推荐

  1. 构建 RESTful Web 服务

    from: https://www.ibm.com/developerworks/cn/education/java/j-rest/j-rest.html 开始之前 关于本教程 REST 是一种思维方 ...

  2. RESTful Web 服务 - 消息

    RESTful Web 服务使用 HTTP 协议作为客户端和服务器之间的通信媒介.客户端发送一个 HTTP 请求形式的消息,然后服务器按照 HTTP 响应形式的响应.这种技术被称为消息传递.这些消息包 ...

  3. 如何使用Retrofit,OkHttp,Gson,Glide和Coroutines处理RESTful Web服务

    Kriptofolio应用程序系列-第5部分 (Kriptofolio app series - Part 5) These days almost every Android app connect ...

  4. restful api_将Spring MVC RESTful Web服务迁移到Spring 4

    restful api 1引言 Spring 4为MVC应用程序带来了一些改进. 在这篇文章中,我将重点介绍宁静的Web服务,并通过采用Spring 3.2实现的项目并将其升级到Spring 4来尝试 ...

  5. RESTful Web 服务 - Java (JAX-RS)

    JAX-RS 表示用于 RESTful Web 服务的 Java API.JAX-RS 是一种基于 Java 的编程语言 API 以及为创建 RESTful Web 服务提供支持的规范.2.0 版本发 ...

  6. RESTful Web 服务 - 安全性

    因为 RESTful Web 服务使用 HTTP URLs 路径,因此以保护网站同样的方式维护 RESTful Web 服务是非常重要的.以下是设计 RESTful Web 服务时要遵循的最佳实践. ...

  7. RESTful Web 服务 - 无状态

    根据 REST 架构,一个 RESTful Web 服务不应该在服务器上保持客户端状态.这种约束被称为无状态.客户端的职责是传递其上下文给服务器,然后服务器存储这个上下文以处理客户端的请求.比如,由服 ...

  8. RESTful Web 服务 - 方法

    正如目前为止我们所讨论的,RESTful Web 服务大量使用 HTTP 动词确定要对指定资源进行的操作.下面的表格演示了常用 HTTP 动词的例子. 编号 HTTP 方法,URI 和操作 1 GET ...

  9. RESTful Web 服务 - 寻址

    寻址指的是定位存储在服务器上的一个或多个资源.类似于定位某个人的邮寄地址. REST 架构中的每个资源都通过它的 URI(统一资源标示符)标识.URI 格式如下: <protocol>:/ ...

最新文章

  1. 阿里开源MNNKit:基于MNN的移动端深度学习SDK,支持安卓和iOS
  2. Win2008 R2实战之只读域控制器部署(图)
  3. ibatise 没有大于等于吗_库里+杜兰特并没有大于等于2!或许他和库里搭配将更强...
  4. ASP.NET @Page指令属性
  5. python掷骰子_掷骰子童芯派 python硬件编程(上传模式)
  6. [置顶]【留言板 Message Board】
  7. Termux:api 使用及脚本分享
  8. 雷达(微波)感应天线设计
  9. 杰理AC632N蓝牙芯片iokey使用解析(通用MCU版)
  10. 【闲趣】如何用C语言画出一棵圣诞树
  11. 服务器u单核性能排行,CPU单核性能天梯图2021 2021年最新CPU单核性能排行天梯图...
  12. jquery stop()方法的讲解使用
  13. html制作钢铁侠心脏,钢铁侠的“心脏”并不是特效,得知如何制成的,网友:难以置信...
  14. 只用html如何实现音乐播放,如何使用html实现音乐播放
  15. 枣庄高防php主机,枣庄机房_枣庄联通机房_枣庄BGP高防机房
  16. 基于深度学习的中文语音识别系统框架搭建
  17. 2022出圈的ML研究:爆火的Stable Diffusion、通才智能体Gato,LeCun转推
  18. PTA 7-1 修理牧场
  19. XOP 网格计划是什么?XOP 的特性
  20. Django DRF 两种接口安全机制及其配置

热门文章

  1. 根文件系统使用登录模式
  2. 高性能Javascript:高效的数据访问
  3. oracle动态注册和静态注册监听器
  4. Java多线程设计模式(1)
  5. 远程桌面mstsc /console(/admin) 的运用
  6. Teradata QA Tester 职位
  7. TCP close_wait 状态的解释
  8. 3kyu Path Finder #3: the Alpinist
  9. matlab命令fvtool,FVTool: a finite volume toolbox for Matlab
  10. python插件安装包_python 离线安装插件包