gpt4 book ai didi

javascript - 如何阻止 Backbone.js 发送 OPTIONS 请求?

转载 作者:行者123 更新时间:2023-12-02 14:45:15 25 4
gpt4 key购买 nike

我的 cordova 应用程序使用backbone.js 与我的服务器进行通信。由于该应用程序显然不在与我的 API 相同的域下运行,因此每个重要的 ajax 请求都会在飞行前发送 OPTIONS 请求。我明白为什么它会这样做。但是,我可以完全控制我自己的服务器!我确切地知道支持哪些http方法和 header 。因此,OPTIONS请求不是浪费时间吗?我怎样才能禁用它?

最佳答案

你说你知道它为什么提出请求,但为那些不知道的人提供一些背景MDN describes the conditions that you'll get a preflighted request .

不,您无法禁用它。

作为客户端代码的作者,您知道要发出什么请求。

作为服务器端代码的作者,您知道要接受哪些请求。

作为编写用户浏览器的公司,Google(或 Mozilla、Opera 等)不知道您是这两个网站的作者,也不知道您信任自己。他们不知道站点 A 要求浏览器向站点 B 发出的请求是无害的。

在 CORS 之前,作者只需担心防御可能由链接和表单发起的 CSRF 攻击。

然后,XHR 出现,http://evil.example.com 上的 JavaScript 突然可以触发对 http://victim.example 的 DELETE 请求.com 已启用 withCredentials。如果服务器处理了这个问题,响应浏览器,然后浏览器告诉 JS 引擎没有 Access-Control header ,那将是非常糟糕的。该内容已被删除。

因此您需要进行预检才能获得许可。

所以这不是浪费时间。你无法禁用它。您只需在获得许可的情况下回复即可。

关于javascript - 如何阻止 Backbone.js 发送 OPTIONS 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36670370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com