🍁 作者:知识浅谈,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的缓存的相关知识,希望有所帮助.