网站建设费用摊销多少年,小程序代理加盟前景,广告插件wordpress移动端,家电网站建设需求分析文章目录 一、强缓存二、协商缓存总结为什么需要浏览器缓存? 一、强缓存 强缓存是指浏览器在请求资源时#xff0c;先检查本地缓存是否存在该资源的副本#xff0c;并且该副本是否有效。如果有效#xff0c;浏览器直接从本地缓存中获取资源#xff0c;不会发送请求到服务器… 文章目录 一、强缓存二、协商缓存总结为什么需要浏览器缓存? 一、强缓存 强缓存是指浏览器在请求资源时先检查本地缓存是否存在该资源的副本并且该副本是否有效。如果有效浏览器直接从本地缓存中获取资源不会发送请求到服务器。 使用强缓存策略时如果缓存资源有效则直接使用缓存资源不必在向服务器发起请求。 常见的强缓存策略有两种Expires 和 Cache-Control Expires 是HTTP/1.0协议中的字段它告诉浏览器资源的过期时间。当浏览器再次请求该资源时会先比较当前时间与过期时间如果未过期则直接使用本地缓存否则再向服务器发送请求。Cache-Control 是HTTP/1.1协议中的字段它可以设置多个指令来控制缓存行为。常用的指令有max-age、no-cache、no-store等。其中max-age 指令告诉浏览器资源的有效期no-cache 指令告诉浏览器不使用强缓存而是使用协商缓存。 二、协商缓存 协商缓存是指当强缓存失效时浏览器发送请求到服务器通过与服务器进行协商来确定是否可以使用缓存的副本。 如果命中强制缓存我们无需发起新的请求直接使用缓存内容如果没有命中强制缓存如果设置了协商缓存这个时候协商缓存就会发挥作用。 常见的协商缓存策略有两种Last-Modified 和 ETag Last-Modified 是服务器响应头中的字段它表示资源的最后修改时间。当浏览器再次请求该资源时会携带 If-Modified-Since 字段将资源的最后修改时间发送给服务器。如果服务器判断该资源的最后修改时间与 If-Modified-Since 字段相同则返回 304 Not Modified 状态码告诉浏览器可以使用缓存的副本。ETag 是服务器响应头中的字段它是一个唯一标识符表示资源的版本号。当浏览器再次请求该资源时会携带 If-None-Match 字段将资源的 ETag 值发送给服务器。如果服务器判断该资源的 ETag 值与 If-None-Match 字段相同则返回 304 Not Modified 状态码告诉浏览器可以使用缓存的副本。 强缓存和协商缓存的使用可以减少对服务器的请求次数提高页面加载速度提升用户体验。
总结 强缓存策略和协商缓存策略在缓存命中时都会直接使用本地的缓存副本区别只在于协商缓存会向服务器发送一次请求。它们缓存不命中时都会向服务器发送请求来获取资源。在实际的缓存机制中强缓存策略和协商缓存策略是一起合作使用的。浏览器首先会根据请求的信息判断强缓存是否命中如果命中则直接使用资源。如果不命中则根据头信息向服务器发起请求使用协商缓存如果协商缓存命中的话则服务器不返回资源浏览器直接使用本地资源的副本如果协商缓存不命中则浏览器返回最新的资源给浏览器。 为什么需要浏览器缓存? 对于浏览器的缓存主要针对的是前端的静态资源最好的效果就是在发起请求之后拉取相应的静态资源并保存在本地。如果服务器的静态资源没有更新那么在下次请求的时候就直接从本地读取即可如果服务器的静态资源已经更新那么我们再次请求的时候就到服务器拉取新的资源并保存在本地。这样就大大的减少了请求的次数提高了网站的性能。这就要用到浏览器的缓存策略了。 所谓的浏览器缓存指的是浏览器将用户请求过的静态资源存储到电脑本地磁盘中当浏览器再次访问时就可以直接从本地加载不需要再去服务端请求了。
使用了浏览器缓存有以下优点 减少了服务器的负担提高了网站的性能加快了客户端网页的加载速度减少了多余网络数据传输