前端浏览器缓存的详细描述
时间: 2024-06-09 16:04:39 浏览: 19
前端浏览器缓存是指浏览器在向服务器请求资源时,如果该资源已经被缓存过了,浏览器就会直接从缓存中获取资源,而不是再次向服务器请求资源。这样可以减少网络请求,提高页面加载速度,节约带宽资源。
前端浏览器缓存分为两种:强缓存和协商缓存。
1. 强缓存
强缓存是指浏览器直接从本地缓存中获取资源,而不发起请求。使用强缓存,需要设置响应头信息中的 Cache-Control 和 Expires 字段。
Cache-Control 包含多个指令,最常用的有:
- max-age:缓存的最大有效时间,单位为秒。
- no-cache:需要使用协商缓存,不直接使用缓存。
- no-store:禁止缓存。
Expires 是一个时间戳,表示资源的过期时间。浏览器会在本地缓存中记录该时间戳,在过期时间之前,不会再请求服务器。
2. 协商缓存
协商缓存是指浏览器向服务器请求资源时,先发送一个请求头信息,并带上上一次缓存时的标识(比如 ETag 或者 Last-Modified 字段),服务器根据这个标识判断资源是否有更新。如果资源没有更新,服务器返回 304 状态码,浏览器就会直接从本地缓存中获取资源。
协商缓存需要设置响应头信息中的 ETag 和 Last-Modified 字段。ETag 是一个字符串,表示资源的唯一标识,可以是文件的 MD5 值或者其他值。Last-Modified 是一个时间戳,表示资源的最后修改时间。
当浏览器再次请求资源时,会带上 If-None-Match 和 If-Modified-Since 字段,分别表示上一次的 ETag 和 Last-Modified 字段的值。服务器可以根据这两个值判断资源是否有更新,如果没有更新就返回 304 状态码,否则返回新的资源。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)