RESTful Web 服务 - 缓存
缓存是指在客户端存储服务器响应,以便客户端不需要一次又一次的请求服务器上相同的资源。服务器响应应该有关于如何进行缓存的信息,以便客户端缓存一段时间内的响应或者永远不缓存服务器响应。
下面是可以用来配置客户端缓存的服务器响应头:
编号 | 头信息 & 描述 |
---|---|
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 服务 - 缓存相关推荐
- 构建 RESTful Web 服务
from: https://www.ibm.com/developerworks/cn/education/java/j-rest/j-rest.html 开始之前 关于本教程 REST 是一种思维方 ...
- RESTful Web 服务 - 消息
RESTful Web 服务使用 HTTP 协议作为客户端和服务器之间的通信媒介.客户端发送一个 HTTP 请求形式的消息,然后服务器按照 HTTP 响应形式的响应.这种技术被称为消息传递.这些消息包 ...
- 如何使用Retrofit,OkHttp,Gson,Glide和Coroutines处理RESTful Web服务
Kriptofolio应用程序系列-第5部分 (Kriptofolio app series - Part 5) These days almost every Android app connect ...
- restful api_将Spring MVC RESTful Web服务迁移到Spring 4
restful api 1引言 Spring 4为MVC应用程序带来了一些改进. 在这篇文章中,我将重点介绍宁静的Web服务,并通过采用Spring 3.2实现的项目并将其升级到Spring 4来尝试 ...
- RESTful Web 服务 - Java (JAX-RS)
JAX-RS 表示用于 RESTful Web 服务的 Java API.JAX-RS 是一种基于 Java 的编程语言 API 以及为创建 RESTful Web 服务提供支持的规范.2.0 版本发 ...
- RESTful Web 服务 - 安全性
因为 RESTful Web 服务使用 HTTP URLs 路径,因此以保护网站同样的方式维护 RESTful Web 服务是非常重要的.以下是设计 RESTful Web 服务时要遵循的最佳实践. ...
- RESTful Web 服务 - 无状态
根据 REST 架构,一个 RESTful Web 服务不应该在服务器上保持客户端状态.这种约束被称为无状态.客户端的职责是传递其上下文给服务器,然后服务器存储这个上下文以处理客户端的请求.比如,由服 ...
- RESTful Web 服务 - 方法
正如目前为止我们所讨论的,RESTful Web 服务大量使用 HTTP 动词确定要对指定资源进行的操作.下面的表格演示了常用 HTTP 动词的例子. 编号 HTTP 方法,URI 和操作 1 GET ...
- RESTful Web 服务 - 寻址
寻址指的是定位存储在服务器上的一个或多个资源.类似于定位某个人的邮寄地址. REST 架构中的每个资源都通过它的 URI(统一资源标示符)标识.URI 格式如下: <protocol>:/ ...
最新文章
- 阿里开源MNNKit:基于MNN的移动端深度学习SDK,支持安卓和iOS
- Win2008 R2实战之只读域控制器部署(图)
- ibatise 没有大于等于吗_库里+杜兰特并没有大于等于2!或许他和库里搭配将更强...
- ASP.NET @Page指令属性
- python掷骰子_掷骰子童芯派 python硬件编程(上传模式)
- [置顶]【留言板 Message Board】
- Termux:api 使用及脚本分享
- 雷达(微波)感应天线设计
- 杰理AC632N蓝牙芯片iokey使用解析(通用MCU版)
- 【闲趣】如何用C语言画出一棵圣诞树
- 服务器u单核性能排行,CPU单核性能天梯图2021 2021年最新CPU单核性能排行天梯图...
- jquery stop()方法的讲解使用
- html制作钢铁侠心脏,钢铁侠的“心脏”并不是特效,得知如何制成的,网友:难以置信...
- 只用html如何实现音乐播放,如何使用html实现音乐播放
- 枣庄高防php主机,枣庄机房_枣庄联通机房_枣庄BGP高防机房
- 基于深度学习的中文语音识别系统框架搭建
- 2022出圈的ML研究:爆火的Stable Diffusion、通才智能体Gato,LeCun转推
- PTA 7-1 修理牧场
- XOP 网格计划是什么?XOP 的特性
- Django DRF 两种接口安全机制及其配置
热门文章
- 根文件系统使用登录模式
- 高性能Javascript:高效的数据访问
- oracle动态注册和静态注册监听器
- Java多线程设计模式(1)
- 远程桌面mstsc /console(/admin) 的运用
- Teradata QA Tester 职位
- TCP close_wait 状态的解释
- 3kyu Path Finder #3: the Alpinist
- matlab命令fvtool,FVTool: a finite volume toolbox for Matlab
- python插件安装包_python 离线安装插件包