标签题目
浏览器缓存相关面试题
http 缓存,304 的返回体是什么?
这题考察 HTTP 缓存链路和 304 语义:304 表示协商缓存命中,服务端不返回新的实体内容,浏览器复用本地缓存体。
怎么考虑使用缓存的情况,怎么强制刷新?
这题考察缓存策略设计和强制刷新手段。核心是按资源类型制定策略,并通过改变 URL、改变缓存头或清理运行时缓存让客户端拿到新内容。
浏览器强缓存和协商缓存分别依赖哪些 HTTP 头?
浏览器强缓存主要依赖响应头 Cache-Control 和 Expires,协商缓存主要依赖 ETag/If-None-Match 与 Last-Modified/If-Modified-Since。Cache-Control 的优先级通常高于 Expires,ETag 的优先级通常高于 Last-Modified。
强缓存和协商缓存有什么区别?
强缓存和协商缓存的根本区别在于是否向服务器发请求。强缓存有效时浏览器直接使用本地副本;协商缓存需要发条件请求,由服务器判断资源是否变化,未变化返回 304。