一:概念
当缓存过期的时候浏览器向服务器发送请求验证缓存是否有效,有效的话服务器返回304状态码,304多出现在静态资源的请求上面.
二:304原理
当浏览器第一次发起请求时,服务器会在响应中告诉浏览器这个资源最后修改的时间,当你再次请求这个资源的时候,浏览器就会询问服务器这个资源是否发生了修改,如果没有修改,则返回304状态码,此时浏览器就会继续使用本地的缓存资源,而不会向浏览器重新发送HTTP请求,减少了性能的消耗
三:扩展
浏览器的缓存:强缓存和协商缓存
浏览器在向服务器发送请求之前会先在本地缓存查找请求结果和缓存标识,在发送请求之后也会将请求的结果和缓存标识存储到本地,根据是否需要向服务器发送HTTP请求来分为强缓存和协商缓存
协商缓存:
在强换粗失效时,浏览器会携带缓存标识向服务器询问,由服务区根据缓存的标识决定是否使用缓存的过程
协商缓存只要有一下两种情况:
协商缓存生效--返回304状态码,浏览器继续使用本地缓存资源
协商缓存失效--返回200状态码和新的缓存结果