ehcache 手动刷新缓存_http状态码、methods、header和缓存机制

1、http常见的状态码有哪些

(1)状态码分类

1xx 服务器收到请求

2xx 请求成功, 如 200

3xx 重定向, 如 302

4xx 客户端错误, 如 404

5xx 服务端错误, 如 500

(2)常见的状态码

200 请求成功

301 永久重定向 (配合 location,浏览器自动处理)

302 临时重定向 (配合 location,浏览器自动处理)

304 资源未被修改

404 资源未找到

500 服务端错误

504 网关超时

2、http methods

(1)传统的methods

get 获取服务器的数据

post 向服务器提交数据

简单的网页功能,就这两个操作

(2)现在的methods

get 获取数据

post 新建数据

patch/put 更新数据

delete 删除数据

(3)Restful API

一种新的 API 设计方法

传统的 API: 将每个url 当作一个功能

Restful API 设计: 将每个url 当作一个唯一资源

例如:

传统API设计: /api/list?pageIndex = 2

Restful API 设计: /api/list/2

用method表示操作类型(restful API 设计)
post 请求 /api/blog
patch 请求 /api/blog/100
get 请求 /api/blog/100

3、http headers

(1)常见的 Request Headers

Accept 浏览器可接收的数据格式

Accept-Encoding 浏览器可接收的压缩算法, 如 gzip

Accept-Language 浏览器可接收的语言, 如 zh-CN

Connection:keep-alive 一次TCP连接重复使用

Cookie

Host

User-Agent(简称UA)浏览器信息

Content-Type 发送数据格式, 如 application/json

(2)常见的 Response Headers

Content-Type 返回数据的格式,如 application/json

Content-Length 返回数据的大小,多少字节

Content-Encoding 返回数据的压缩算法, 如gzip

(3)自定义headers

(4)缓存相关的headers

Cache-Control
Expires
Last-Modified
Etag
If-Modified-Since
If-None-Match

4、http 缓存

http 缓存分为强制缓存和协商缓存

(1)强制缓存

在 Response Headers中的 Cache-Control 控制强制缓存逻辑,如 Cache-Control: max-age = 31536000(单位是秒)

Cache-Control的值有一下几个:max-age、no-cache、no-store、private、public

在Response Headers中的 Expires 也同样控制着缓存过期

25b5f127424a0ebc515e377d6cc75e78.png

a68167f2352d90c1b6764152673edb86.png

(2)协商缓存

服务端缓存策略,服务器判断客户端资源,是否和服务端资源一样,一致则返回304,否则返回200 和最新资源

ec0003d9aba0e9f34051212e92d5890e.png

在 Response Headers中,有两种资源标识:last-modified 和 etag

last-modified是资源的最后修改时间

etag 是资源的唯一标识(一个字符串)

如果两者存在,会先使用etag,last-modified只能精确到秒级,如果资源被重新生成,而内容不变,则etag 更精确

6f95bab779b9de2f31d27577e7d43528.png

7eea40add71032b31a49ecb0fb18ccb5.png

7805d9f10b3c5ef189fbe12aed335117.png

ae193bcc7d4b3bb45d8cf32abec69e2c.png
5、三种刷新操作

正常操作: 地址栏输入url,跳转链接,前进后退等

手动刷新: f5、点击刷新按钮、右击菜单刷新

强制刷新:ctrl + f5

不同的刷新操作,不同的缓存策略

正常操作: 强制缓存有效,协商缓存有效

手动刷新: 强制缓存失效,协商缓存有效

强制刷新: 强制缓存失效,协商缓存失效


版权声明:本文为weixin_30977095原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。