http缓存

Posted shuhaonb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http缓存相关的知识,希望对你有一定的参考价值。

浏览器缓存策略:强缓存和协商缓存

 

强缓存:不用向服务器询问

1、expires-过期时间。设置expires值表示缓存会在这个时间后失效,过期时间是绝对日期,如果修改本地日期,

或本地日期与服务器日期不一致,将导致缓存过期时间错误

例如:Expires: Thu, 26 Dec 2019 10:30:42 GMT

 

2、设置Cache-Control.可以通过设置max-age字段设置过期时间

 

协商缓存:需要向服务器询问缓存是否过期

1、last-Modified:最后修改时间,浏览器第一次请求资源,服务器会在响应头加上Last-Modified,当浏览器再次请求该资源时,

浏览器会在请求头中带上If-Modified-Since字段,字段的值为服务器返回的最后修改时间,服务器对比这两个时间,若相同则

返回304,否则返回新资源并更新Last-Modified

 

2、ETag:表示文件唯一标识,只要文件内容更改,ETag就会重新计算。浏览器第一次请求资源,服务器会返回ETag字段,当

浏览器再次请求时,会发送if-None-Match,服务端对比这两个值,如果ETag不匹配,则返回新资源

 

ETag和Last-Modified比较:ETag更准确,如果打开文件但没有修改,last-Modified也会改变;而且Last-Modified只能

精确到秒,不适合短时间内频繁改动的资源。

以上是关于http缓存的主要内容,如果未能解决你的问题,请参考以下文章

HTTP缓存

前端HTTP 缓存简单了解

HTTP缓存机制

HTTP学习---Web 缓存

HTTP -- 缓存

HTTP缓存机制