Http 缓存原来如此, 牛波牛波
🍁 作者:知识浅谈,CSDN 博客专家,华为云云享专家,阿里云签约博主,InfoQ 签约作者
📌 擅长领域:全栈工程师、爬虫、ACM 算法
💒 公众号:知识浅谈
🔥 联系方式 vx:zsqtcc
🤞这次都给他拿下🤞Http 缓存含有两种形式的缓存:包括强缓存和协商缓存.
🎈强缓存
http1.0 中:设置 expires :表示缓存过期的日期
http1.1 中: 设置为 cache-control: 表示的是缓存的存活时间 如 300 表示的是存活 5 分钟
如果 cache-control 和 expire 同时存在的时候,则会按照 cache-control 为主.
🎈协商缓存
服务器进行判断的一种缓存,通过携带资源标识到服务器进行请求查看资源是否已经发生变化,如果没有发变化就告诉前端去缓存中去读取. 返回 304 表示去缓存中去读.
http1.0 使用的 Last-modified 标志,精确到秒,表示最后一次修改的时间, 像服务端请求的时候,,携带 Last-modified 和 if-modified-sine 查看服务端的数据的修改时间,如果修改时间大于 lastmodified 返回数据和 新的 last-modified.
http1.1 中使用的 Etag 表示,这个是对数据的一种 hash 求值,第一次请求资源返回的时候,返回数据的 Etag,再次请求的时候,携带 Etag 和 If-not-matched, 在后端查找数据并求出新的 hash 值然后与 Etag 进行比较,如果不一样,表示数据已经修该,返回新的数据和新的 Etag.Etag 虽然更精确,但是 Last-modified 只需要携带时间,不需要计算 hash 值.所以效率较高,但是 Last-modified 的时间智能精确到秒.
🍚总结
以上就是关于 https 的缓存的相关知识,希望有所帮助.
版权声明: 本文为 InfoQ 作者【知识浅谈】的原创文章。
原文链接:【http://xie.infoq.cn/article/7edcb2134300589509754dffb】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论