Cache-Control

可缓存性:

1. public :HTTP请求返回的过程中,返回内容所经过的任何路径中(代理服务器,客户端浏览器等)都可以对数据缓存

2.private: 只有发起请求的浏览器才可以进行缓存

3. no-cache: 可以缓存,但要向服务器请求验证是否可以使用

 

到期:

max-age=<seconds> 缓存到期时间,以秒为单位,过期需要再次从服务器请求

s-maxage=<seconds> 代理服务器才会生效,代替max-age

max-stale=<seconds> 请求方Header中,即使缓存过期,在max-stale 时间内还可以使用缓存(代理服务器中)

 

重新验证(浏览器不常用)

must-revalidate: 若缓存过期,需要重新向服务器发起请求 验证缓存是否过期

proxy-revalidate: 用在缓存服务器上

 

总结: Cache-Control  是客户端缓存,若允许使用缓存, 则不会向服务器发送请求,直接读取本地缓存,可以优化页面性能,

    但如果服务器更新了,客户端不会知道,仍使用缓存

   前端 可以通过修改URL Hash码 ,发送至服务器,去判断 内容是否修改,若修改,则说明需要刷新浏览器缓存

 

其他

no-store: 本地和代理服务器不能存取缓存,只有向服务器请求

no-transform: 用于代理服务器,表示不可以改动返回内容

posted @ 2018-10-24 16:06  你今天学习了吗  阅读(1782)  评论(0编辑  收藏  举报