合理配置缓存提高再次访问的速度。
强缓存
强缓存:由客户端决定是否使用缓存。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,返回文件内容。