<link rel="preconnect"> 似乎并没有真正“预连接”到 API?

问题描述

我正在测试使用 <link rel="preconnect"> 提高性能效果。就我而言,它是通过外部 API 向我的应用程序始终需要的数据发出 XHR 请求。所以我相信我需要包含 crossorigin 属性。因为这个请求需要验证,所以我设置了 crossorigin="use-credentials"。我的预连接链接最终看起来像:

<link rel="preconnect" href="https://exampleapi.com" crossorigin="use-credentials" >

(我实际上不清楚这里的 href 是否应该只是域/主机,或者它是否应该包含特定 API 端点的路径 - 两者都试过)

根据 Safari(以及此 article),预连接成功。

当应用加载时,它会发出请求,但实际上浏览器首先会发出一个 OPTIONS 预检请求。当我在 Chrome 的 Network 选项卡中选择 OPTIONS 请求并查看 Timing 选项卡时,我的期望是 DNS 查找、初始连接和 SSL 步骤已经使用预连接处理了。但我总是在对 API 的第一个请求中看到这些步骤: OPTIONS request Chrome Network Timing

在我看来,预连接似乎没有任何好处。除非我配置错了?还是我的期望(基于此 article 中的图片)有误?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...