http强缓存和协商缓存的介绍和应用案例,简介明了

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

http缓存方式简介

  1. 强缓存:强缓存使用Expires(老版本)和cache-control(新版本)来控制
  2. 协商缓存:协商缓存使用if-Modified-Since 与 Last-Modified配对、If-None-Match与Etag配对来控制

缓存机制

  1. 优先级
    1. 强缓存:cache-control -> expires
    2. 协商缓存:Etag > Last-Modified
  2. 参数介绍
    1. Expires:服务器设置资源过期时间,在http/1.1中无效
    2. Last-Modified:资源最新修改时间
    3. Etag:唯一标识,Etag优先级高于Last-Modified
    4. Cache-Control
      1. private // 私人的,
      2. no-store,
      3. no-cache,
      4. max-age=0 // 过期时间,单位秒
      5. must-revalidate,
      6. proxy-revalidate
      7. Cache-Control的mdn地址:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control

案例

强缓存文章来源地址https://www.toymoban.com/news/detail-450925.html

1. Expires老版本的方式:
// 在响应头中设置
// toUTCString根据世界时 (UTC) 把 Date 对象转换为字符串:Mon, 15 May 2023 01:04:13 GMT
res.setHeader('Expires', new Date('2023-5-15 12:00:00').toUTCString())
2. cache-control新版本的方式:
// 设置响应头
res.setHeader('Cache-Control', 'max-age=30')
  1. 设置了强缓存之后请求:http强缓存和协商缓存的介绍和应用案例,简介明了
  2. 到期后就不会走强缓存http强缓存和协商缓存的介绍和应用案例,简介明了
3.Etag和If-None-Match
  1. 默认情况下,浏览器会设置If-None-Match为上一次返回的Etag
  2. 如果If-None-Match和Etag相同,则走协商缓存
    1. 第一次
      http强缓存和协商缓存的介绍和应用案例,简介明了
    2. 第二次http强缓存和协商缓存的介绍和应用案例,简介明了
  3. 否则,不走协商缓存
    1. 第一次http强缓存和协商缓存的介绍和应用案例,简介明了
    2. 第二次http强缓存和协商缓存的介绍和应用案例,简介明了
  4. Last-Modified和If-Modified-Since
    1. 后端配置
    // 后端设置Last-modified
    res.setHeader('last-modified', new Date('2023-5-16 12:00:00').toUTCString())
    
    1. 第一次请求http强缓存和协商缓存的介绍和应用案例,简介明了
    2. 第二次请求时,浏览器的If-Modified-Since会自动携带上上一次请求的:Last-Modified时间http强缓存和协商缓存的介绍和应用案例,简介明了

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

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

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

相关文章

  • http协议中的强缓存与协商缓存,带图详解

    此篇抽自本人之前的文章:http面试题整理 。 别急着跳转,先把缓存知识学会了~ http中的缓存分为两种:强缓存、协商缓存。 强缓存 响应头中的 status 是 200,相关字段有 expires(http1.0),cache-control(http1.1) ,两者同时出现时 cache-control 优先级更高。主要是利用 cache-control 的

    2024年03月16日
    浏览(39)
  • 浏览器缓存(强缓存、协商缓存)

    这一点主要解析浏览器缓存以及缓存机制的详细过程。 与缓存相关的状态码: 200 ok    从浏览器下载的最新资源 200 (from memory cache)    不进行http请求,直接从浏览器内存中读取的资源,页面关闭,则资源释放,一般一些脚本、图片、文字等会存在内存中 200 (from disk cache) 

    2024年04月17日
    浏览(36)
  • 强缓存与协商缓存

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

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

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

    2024年02月07日
    浏览(26)
  • 什么是强缓存和协商缓存

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

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

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

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

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

    2023年04月19日
    浏览(24)
  • 前端中的强缓存与协商缓存

    强缓存通常用于减少网络延迟,提高页面加载速度,适用于访问量较大且资源变化不频繁的情况。 协商缓存则适用于需要确保始终使用最新资源的情况,适用于资源变化频繁或需要根据用户个性化需求加载不同资源的情况。 常见配置 html配置为不缓存(nostore),其余静态资源配

    2024年02月19日
    浏览(31)
  • 【计算机网络】强缓存和协商缓存

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

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

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

    2024年02月09日
    浏览(25)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包