浏览器有哪几种缓存,它们的优先级是什么样的?

浏览器有哪几种缓存,它们的优先级是什么样的?这是一道浏览器缓存相关的高频面试题,一直是面试考察的重点,但是大多数同学一提到浏览器缓存就头疼,自然也就面试回答不好了。

老规矩,点赞收藏支持一下,给我一分钟,理想哥教大家该怎么满分回答这个问题。如果我是求职者,我会这么回答:

在前端开发中,浏览器缓存是一个重要的概念,它可以提高网页加载速度,减轻服务器压力。浏览器缓存主要分为两大类:HTTP缓存和浏览器存储。HTTP缓存又分为强缓存和协商缓存。

强缓存是指浏览器直接从本地缓存中获取资源,而不和服务器进行交互,常见的强缓存控制头有:Expires和Cache-Control

其中,Expires会指定资源的过期时间,Cache-Control中的max-age会指定资源的有效时间

如果同时设置了Expires和Cache-Control,浏览器会优先使用Cache-Control。

协商缓存是指浏览器与服务器通信,由服务器决定是否使用缓存。常见的协商缓存控制头有:Last-Modified、If-Modified-Since、ETag和If-None-Match

如果同时存在Last-Modified和ETag,浏览器会优先使用ETag。

浏览器存储主要包括LocalStorage、SessionStorage和indexdb。它们可以在浏览器端存储数据,以便在页面刷新或重新打开时使用。

关于优先级,浏览器存储的优先级低于HTTP缓存,因为它们是在客户端存储,不受服务器控制。

所以,综合来说,优先级从高到低排列为:强缓存 > 协商缓存 > 浏览器存储

以上就是这个问题的回答了,大家可以下次面试时试试这么回答看看效果。

最后,关于关注理想哥,每天学点前端面试小技巧。

#前端##前端web滴滴#
全部评论

相关推荐

点赞 5 评论
分享
牛客网
牛客企业服务