## 要解决的问题

### 缓存问题
1. 生成版本号文件
2. 加子域前缀，文件推送cdn
---
### 浏览器缓存

> ### 本地缓存
> 直接从本地去页面缓存；
>
> 如果缓存的页面有expires(绝对时刻)或Cache-Control:max-age（时长），则在有效时间内，则取本地页面，不会给浏览器发请求。  

> ### 协商缓存
> 与web服务器协商，判断是否取浏览器缓存。
>
> 如果没有expires或max-age，则浏览器会发请求到服务器，附上If-Modified-Since报文头，web服务器则会判断页面是否在这个时间后有更新过，如没有则返回一个304状态，浏览器取本地缓存的内容；否则，服务器将返回200状态，并返回该资源和Last-Modified。

### 浏览器操作如何触发缓存

> 1. 强制刷新：Ctrl + F5
>
>    浏览器将绕过本地缓存、协商缓存，让服务器重新发送请求的资源。
> 2. 刷新：F5
>
>   浏览器将绕过本地缓存，将使用协商缓存来请求资源。
> 3. 转向或回车：
>
>   浏览器将使用本地缓存、协商缓存。
