什么是强缓存和协商缓存

这篇具有很好参考价值的文章主要介绍了什么是强缓存和协商缓存。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、强缓存

强缓存是指浏览器在请求资源时,先检查本地缓存是否存在该资源的副本,并且该副本是否有效。如果有效,浏览器直接从本地缓存中获取资源,不会发送请求到服务器。
使用强缓存策略时,如果缓存资源有效,则直接使用缓存资源,不必在向服务器发起请求。

常见的强缓存策略有两种: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 状态码,告诉浏览器可以使用缓存的副本。

强缓存和协商缓存的使用可以减少对服务器的请求次数,提高页面加载速度,提升用户体验。

总结

强缓存策略和协商缓存策略在缓存命中时都会直接使用本地的缓存副本,区别只在于协商缓存会向服务器发送一次请求。它们缓存不命中时,都会向服务器发送请求来获取资源。在实际的缓存机制中,强缓存策略和协商缓存策略是一起合作使用的。浏览器首先会根据请求的信息判断,强缓存是否命中,如果命中则直接使用资源。如果不命中则根据头信息向服务器发起请求,使用协商缓存,如果协商缓存命中的话,则服务器不返回资源,浏览器直接使用本地资源的副本,如果协商缓存不命中,则浏览器返回最新的资源给浏览器。

为什么需要浏览器缓存?

对于浏览器的缓存,主要针对的是前端的静态资源,最好的效果就是,在发起请求之后,拉取相应的静态资源,并保存在本地。如果服务器的静态资源没有更新,那么在下次请求的时候,就直接从本地读取即可,如果服务器的静态资源已经更新,那么我们再次请求的时候,就到服务器拉取新的资源,并保存在本地。这样就大大的减少了请求的次数,提高了网站的性能。这就要用到浏览器的缓存策略了。

所谓的浏览器缓存指的是浏览器将用户请求过的静态资源,存储到电脑本地磁盘中,当浏览器再次访问时,就可以直接从本地加载,不需要再去服务端请求了。

使用了浏览器缓存,有以下优点:文章来源地址https://www.toymoban.com/news/detail-671089.html

  1. 减少了服务器的负担,提高了网站的性能
  2. 加快了客户端网页的加载速度
  3. 减少了多余网络数据传输

到了这里,关于什么是强缓存和协商缓存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 强缓存和协商缓存

    强缓存和协商缓存 缓存分为强缓存和协商缓存。强缓存不过服务器,协商缓存需要过服务器,协商缓存返回的状态码是304。两类缓存机制可以同时存在,强缓存的优先级高于协商缓存。当执行强缓存时,如若缓存命中,则直接使用缓存数据库中的数据,不再进行缓存协商。

    2024年02月07日
    浏览(35)
  • 强缓存与协商缓存

    为了减少资源请求次数,加快资源访问速度,浏览器对资源文件如图片、css文件、js文件等有一个缓存功能。而浏览器缓存策略又分为强缓存和协商缓存 所谓强缓存可以理解为强制缓存的意思,即浏览器在访问某个资源时会判断是否使用本地缓存理已经存在的资源文件,使用

    2024年02月07日
    浏览(42)
  • HTTP 缓存机制——强制缓存和协商缓存

    对于一些具有重复性的 HTTP 请求,比如每次请求得到的数据都一样的,我们可以把这对「请求-响应」的数据都缓存在本地,那么下次就直接读取本地的数据,不必在通过网络获取服务器的响应了 HTTP 缓存有两种实现方式,分别是强制缓存和协商缓存。 强缓存指的是只要浏览

    2024年01月25日
    浏览(43)
  • HTTP的缓存策略-强制缓存与协商缓存

    Definition:HTTP的缓存策略指的是控制浏览器或代理服务器缓存哪些资源、以及如何使用和存储这些资源的规则。 常用的HTTP缓存策略包括:强制缓存、协商缓存、禁止缓存、条件缓存等策略。 本文只介绍其中最为常用的强制缓存与协商缓存。 Introduction:浏览器在访问资源之前

    2024年02月12日
    浏览(170)
  • 对强缓存和协商缓存的理解

    浏览器缓存的定义: 浏览器缓存是浏览器在本地磁盘对用户最近请求过的文档进行存储,当访问者再次访问同一页面时,浏览器就可以直接从本地磁盘加载文档。 浏览器缓存分为强缓存和协商缓存。 浏览器是如何使用缓存的: 浏览器缓存的过程 1.浏览器第一次加载资源,服

    2024年02月13日
    浏览(44)
  • 浏览器强缓存与协商缓存

    强制缓存的思想是,在浏览器内置数据库中缓存每次请求中 “可以被缓存” (受到一些的管控)的静态资源如 image, css, js 文件, 当第二次请求被缓存过的资源时候,会通过校验两个字段 Expires 和 Cache-Control 的max-age字段(注意,Expires 是 http1.0 的产物, Cache-Control 则是

    2023年04月19日
    浏览(40)
  • 【计算机网络】强缓存和协商缓存

    强缓存和协商缓存是浏览器缓存机制的两种不同策略,用于优化网页加载速度和减少网络请求。 强缓存(HTTP Cache-Control 和 Expires) : 强缓存是通过在HTTP响应头中设置相关字段来实现的,它告诉浏览器在一段时间内直接使用缓存的资源,而不必再向服务器发起请求。两个主要

    2024年02月10日
    浏览(44)
  • nginx配置浏览器缓存(强缓存、协商缓存、无缓存)

    下载地址:点击下载nginx 根据系统选择要下载的安装包,这里最好选择稳定版(stable version)。 下载好后解压该zip,将解压后的文件夹放在自己喜欢的目录下,我是放在J盘(自己分的磁盘)下。 进入J:nginx-1.22.0目录,目录结构: 注:project目录是我自己创建的,用于存放打包

    2024年02月09日
    浏览(36)
  • 强缓存、协商缓存(浏览器的缓存机制)是么子?

    为了减少资源请求次数,加快资源访问速度,浏览器会对资源文件如图片、css文件、js文件等进行缓存 所谓强缓存,可以理解为强制缓存的意思,即浏览器在访问某个资源时会判断是否使用本地缓存里已经存在的资源文件,使用本地缓存的话则不会发送请求到服务器,从而达

    2024年01月20日
    浏览(45)
  • HTTP系列之HTTP缓存 —— 强缓存和协商缓存

    HTTP缓存 HTTP缓存时利用HTTP响应头将所请求的资源在浏览器进行缓存,缓存方式分两种:强缓存和协商缓存。 浏览器缓存是指将之前请求过的资源在浏览器进行缓存,以便在下一次访问时重复使用,从而节省带宽、提升访问速度、降低服务器压力。 浏览器在第一次请求发生后

    2024年04月29日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包