合理配置缓存提高再次访问的速度。
强缓存
强缓存:由客户端决定是否使用缓存。server无决定权。
| HTTP 1.0 | Expires | 本地时间 < 过期时间 | 读缓存。 |
|---|---|---|---|
| 本地时间 > 过期时间 | 从server下载。 | ||
| HTTP 1.1 | Cache-Control | max-age<=0 | 向server发送http请求确认该资源是否有修改。 有的话,返回200,无的话,返回304。 |
| max-age>0 | 直接从浏览器缓存中提取。 |
cache-control 优先级高于 expires。

协商缓存
强缓存:由客户端与server共同决定是否使用缓存。server有决定权。
last-modified + if-modified-since
通过协商修改时间为基础的策略。优先级高于强缓存。
| last-modified | WEB服务器设置的资源的最后修改时间 | |
|---|---|---|
| if-modified-since | 客户端传过来的修改时间 |
如果一致,表示文件没修改,返回304,server不返回文件内容,客户端读缓存;
不一致的话,server设置200,返回文件内容。

Etag + If-none-natch
| Etag | ETag为文件的标志值。 |
|
|---|---|---|
| If-none-match | 客户端将前次的标志值放在请求头部的If-none-match字段里。 |
如果一致,表示文件没修改,返回304,server不返回文件内容,客户端读缓存;
不一致的话,server设置200,返回文件内容。


