如何使用 fetch() JavaScript API 发送“OPTIONS * HTTP/1.1”请求?

编程入门 行业动态 更新时间:2024-10-09 17:25:28

<a href=https://www.elefans.com/category/jswz/34/1771452.html style=如何使用 fetch() JavaScript API 发送“OPTIONS * HTTP/1.1”请求?"/>

如何使用 fetch() JavaScript API 发送“OPTIONS * HTTP/1.1”请求?

来自 RFC 9110,HTTP 语义:

带有星号(“*”)作为请求目标(第 7.1 节)的 OPTIONS 请求一般适用于服务器而不是特定资源。由于服务器的通信选项通常取决于资源,因此“*”请求仅用作“ping”或“no-op”类型的方法;除了允许客户端测试服务器的功能外,它什么都不做。例如,这可用于测试代理是否符合 HTTP/1.1(或不符合)。

我用 JavaScript 编写了一个运行在 Node 上的 HTTP 服务器,并想编写一个单元测试来检查它如何响应以下请求:

OPTIONS * HTTP/1.1

如何使用

fetch()
JavaScript API 发送该请求?

我知道 Curl 可以使用

--request-target
选项(问题是在 here 上 Stack Overflow 上提出的):

curl --request-target '*' -X OPTIONS /
回答如下:

在 JavaScript 中无法使用
OPTIONS * HTTP/1.1
start line 发出 HTTP 请求

我已经搜索了

fetch
XMLHttpRequest
的所有文档,发现无法更改HTTP请求起始行(“序言”)的“请求目标资源”部分。

所有 JS API 都从方法和 URL 派生start line 的内容,而资源始终是 URL 的“路径”部分,默认为“

/
”。

没有办法告诉JS在默认

*
通常发生的地方发出带有“
/
”的请求。

最重要的是,似乎没有任何其他低级替代方案可以让我们构建整个 HTTP 请求有效负载,包括 start line “手动”,因此可能没有解决方法。


张贴为事物和文档的当前状态的明确答案。很高兴被证明是错误的。

更多推荐

如何使用 fetch() JavaScript API 发送“OPTIONS * HTTP/1.1”请求?

本文发布于:2024-05-13 15:51:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1759947.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何使用   JavaScript   fetch   API   HTTP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!