HTTP缓存字段笔记

HTTP控制缓存的字段主要包括:Cache-Control/Pragma,Expires,Last-Modified/Etag。

1.Cache-Control / Pragma
这个HTTP Head字段用于指定所有缓存机制在整个请求/响应中必须服从的指令。
1)Public:所有内容都将被缓存,在响应头中设置
2)Private:内容只缓存在私有缓存中,在响应头中设置
3)no-cache:所有内容都不被缓存,在请求头和响应头中设置
4)no-store:所有内容都不被缓存在缓存或Internet临时文件中,在请求头和响应头中设置
5)must-revalidation / proxy-revalidation:如果缓存的内容失败,请求必须发送到服务器/代理以进行重新验证,在请求头中设置
6)max-age=xxx:缓存的内容将在xxx秒后失效,这个选项只在HTTP1.1中可用,和Last-Modified一起使用优先级较高,在响应头中设置

2.Expires
通常使用的格式是:Expires:sat,25 FEB 2019 12:00:00 GMT后面跟着一个日期和时间,超过这个时间后,缓存的内容将失效,浏览器在发送请求前检查这个页面的字段,看该页面是否已国庆,如过期,就向服务端重新发起请求。

3.Last-Modified / Etag
Last-Modified:表示服务器上的资源(静态资源/动态内容)的最后修改时间
通过这个字段课判断当前请求的资源是否为最新的。
一般服务端会在响应头中返回一个Last-Modified字段,浏览器再次请求时在请求头中增加If-Modified-Since,询问当前缓存的页面是否为最新;如果是最新的,返回304,告诉浏览器是最新的,服务器也不会传输数据。如果不是最新的,就返回200和新的文件内容。

Etag:作用与Last-Modidied类似,作用是让服务端给每一个页面分配一个唯一编号,通过次=此编号区分当前的页面是否为最新。

注:Cache-Control 会覆盖其他字段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值