链接预取能否用于缓存 JSON API 响应以供以后的 XHR 请求使用?

2024-04-17

给定一个 JSON API 端点/api/config,我们正在尝试使用<link rel="prefetch" href="/api/config">在 HTML 文档的头部。 Chrome 在点击 HTML 中的链接标签时会按预期下载数据,但大约一秒钟后通过我们的脚本中的 XHR 再次请求数据。

服务器配置为允许缓存,并响应Cache-Control: "max-age=3600, must-revalidate"在标题中。当 Chrome 再次请求数据时,服务器会正​​确响应 304 Not Modified 状态。

用例是这样的:配置端点将始终使用 XHR(AngularJS 解析,如果相关的话)从单页应用程序中的 Javascript 请求。然而,我们的脚本非常大,需要很长时间来解析,因此在解析完成之前不会请求 JSON 配置。预取允许我们使用一些解析时间来获取和缓存来自 API 端点的响应,否则这些响应就必须等待脚本加载。


是的,您应该能够预加载 JSON在这里阅读 https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content.

fetch:通过 fetch 或 XHR 请求访问的资源,例如 ArrayBuffer 或 JSON 文件。

所以尝试这个语法:

<link rel="preload" href="/api/config" as="fetch">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

链接预取能否用于缓存 JSON API 响应以供以后的 XHR 请求使用? 的相关文章

随机推荐

  • 异步作业出错

    我正在尝试创建一个不会阻止请求的异步任务 用户发出请求 任务将启动 控制器将呈现 作业正在运行 这是为了避免请求被阻止等待任务完成 任务完成后 它将执行 onComplete 并对该任务的结果执行某些操作 例如调用将向用户发送邮件的服务 E
  • 循环遍历 Silverlight DataGrid 中的行

    我有一种感觉 我在这里遗漏了一些明显的东西 但我找不到迭代 DataGrids DataGridRow 集合的方法 我有一个网格 其中包含我的班级集的集合的项目源 我试图迭代这些行并突出显示满足特定条件的任何行 但我一生都看不到如何实现 您
  • 在循环语句中生成 MVC3 RadioButton 列表

    我的一位同事创建了一个模型 如下所示 Model Serializable public class ModifyCollegeListModel public List
  • HTTP 错误 999:请求被拒绝

    我正在尝试使用 BeautifulSoup 从 LinkedIn 抓取一些网页 但不断收到错误 HTTP 错误 999 请求被拒绝 有没有办法避免这个错误 如果您查看我的代码 我尝试过 Mechanize 和 URLLIB2 两者都给了我相
  • 如何在 Visual Studio 2019 的 CMakeLists.txt 中启用 clang-tidy?

    视觉工作室 2019文档 https learn microsoft com en us visualstudio code quality clang tidy view只谈改变CMakeSettings json启用clang tidy
  • 为什么标题重复了?

    我正在获取当前正在播放的歌曲 捕获标题和艺术家 并将其存储在解析中 由于某种原因 当歌曲播放时 程序会添加 4 首左右相同的标题 艺术家 相反 我只想要一个 我该如何解决 在解析数据浏览器中看到的我的对象 https i stack img
  • 通过 PageController 路由除现有控制器之外的所有请求 (Zend Framework)

    对于新的 CMS 我开发了一个页面模块 它允许我管理网站的树结构 每个页面都可以通过 url 访问http www example com pageslug http www example com pageslug 其中pageslug
  • 亚马逊 Linux 上的 mysql - MySQL 守护进程无法启动

    我尝试重新启动 EC2 实例并sudo service httpd restart 但我仍然收到这样的消息 ec2 user ip sudo service mysqld start MySQL Daemon failed to start
  • Unicode 对象必须在哈希错误之前进行编码

    处理类似问题的问题 SO 1 https stackoverflow com questions 7585307 typeerror unicode objects must be encoded before hashing SO 2 h
  • 更新 Python virtualenv? [复制]

    这个问题在这里已经有答案了 能够更新使用生成的虚拟环境将非常方便virtualenv system site packages path to myvirtenv考虑到基础 Python 中所做的更改 例如 如果已在 virtualenv
  • 如何将数据驱动的 d3JS 图与 Shiny 集成?

    昨天我问 https stackoverflow com questions 29301352如何将带有独立数据的 d3js javacript 文件引入 Shiny 中以绘制力网络图 现在我正在寻找下一步 server R 将读取 JSO
  • 仅带有按钮的 Silverlight Scrollviewer

    我使用 ScrollViewer 作为 Silverlight 应用程序的一部分 它具有水平方向 我希望它显示为仅显示滚动按钮 而不显示滚动条本身 像这样粗略的 ASCII 渲染 lt Content Here gt
  • 仅包含字符集的内容类型

    我发现了这个有趣的标题 Content Type charset utf 8 使用 PHP 将 HTTP 标头设置为 UTF 8 https stackoverflow com q 4279282 22485939 回答者说这个语法是由定义
  • 使用 Zurb Foundation 进行样式自动完成

    使用 Foundation 功能而不是 jQuery CSS 进行自动完成的最佳实践是什么 这是我的代码 http jsfiddle net qhoc 88kfb http jsfiddle net qhoc 88kfb div class
  • 如何在我的网站上填充/描边 SVG 文件?

    我用 Google 搜索了这个问题大约 30 分钟 很惊讶没有人问过 所以也许这是不可能的 我使用这一行嵌入我在 AI 中制作的 SVG 文件 请注意 当我保存 SVG 时 路径上没有填充或描边 Your browser does not
  • 仅返回小写结果的 T-SQL 查询

    我有一个名为 KEYWORDS 的表 其中有一个名为 ENTRY 的 VARCHAR 10 列 是否可以从该表中仅检索小写条目 例如 该表可能如下所示 ENTRY SearchString Searchstring searchstring
  • 使用 Postman 通过 HTTP POST 上传图像

    一段时间以来 我一直在尝试通过 Postman 将图像发送到一个简单的 PHP 脚本 该脚本应该显示发送的图像 我遵循的步骤是 邮递员 客户端 端 Select POST request 选择标题内容类型有价值多部分 表单数据 在正文选项卡
  • Rails 对特定控制器和操作进行 ActiveRecord 验证

    是否可以在给定的控制器和操作上运行 ActiveRecord 验证 例如我有user controller and signup controller 我只需要在signup controller create 操作上运行需要密码的验证 您
  • 使用 XCode 4.6 在 MacOSX 10.8.2 下进行写入的 mmap 会使程序崩溃

    我尝试使用 XCode 4 6 在 MacOSX 10 8 2 下运行 mmap 的简单测试 该程序如下 读取映射的文件正常 但访问写入指针 target 将使程序崩溃 错误消息是 EXC BAD ACCESS 有人和我有同样的情况吗 多谢
  • 链接预取能否用于缓存 JSON API 响应以供以后的 XHR 请求使用?

    给定一个 JSON API 端点 api config 我们正在尝试使用在 HTML 文档的头部 Chrome 在点击 HTML 中的链接标签时会按预期下载数据 但大约一秒钟后通过我们的脚本中的 XHR 再次请求数据 服务器配置为允许缓存