问题标签 [http-options-method]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
158 浏览

rest - 由于不受支持的 HTTP 方法选项,大量请求变成 4xx

我们的一些 API(REST)使用 HTTP 方法 OPTIONS 获得大量请求。虽然这些 API 只支持 GET 方法。由于不支持 OPTIONS,所有这些请求都会变成 4xx。

观察:这些请求即将到来

  • 来自不同的客户端 IP
  • 有空白的referer
  • 使用有效的用户代理。我随机检查,请求来自移动浏览器。

我该如何处理这些请求?如何确保这些请求有效?我应该与 GET 一起启用 OPTIONS 吗?

请注意,某些页面具有 AMP 版本。这可能有关系吗?

0 投票
0 回答
271 浏览

node.js - 飞行前请求比正常请求花费更多时间(多 275%)

概述

我使用Angular 6作为 Web 应用程序的前端,它将与NodeJs中开发的 REST API 进行通信。我有一个问题,预检请求比正常请求花费的时间长。

细节

我的前端Angular 6应用程序与 REST API 通信以从数据库中获取数据并将其显示给用户。我通过HttpClient将请求发送到 REST API。

在我用NodeJs开发的 REST API 中,所有 CORS 配置都正确完成,预检请求已成功发送,实际请求在本地开发机器中得到完美处理。

我遇到的问题是,当我在生产机器中部署应用程序时,选项(预检)请求比实际的 GET / POST 请求需要更多时间(参见附图)。如您所见,实际GET请求仅需要239 毫秒,而预检 (OPTIONS)请求需要656 毫秒,这几乎比正常情况多出275% 。这发生在所有 HTTP 请求中,这反过来会影响我的网站性能。

在此处输入图像描述

0 投票
0 回答
3339 浏览

node.js - 是否可以缓存 HTTP OPTIONS 响应?

我正在拨打 CORS 电话。现在,每个 api 调用都有一个 OPTIONS 预检调用。是否可以缓存 OPTIONS 预检调用?

我看到该Cache-Control标头可用于缓存实际的 GET 响应。https://www.fastly.com/blog/caching-cors

但是如何缓存 OPTIONS 调用的响应呢?

0 投票
0 回答
306 浏览

rest - 使用 OPTIONS 的 RESTful API 授权/权限

HTTPOPTIONS请求是否适合确定用户的授权?

我已经看到OPTIONS用于预检以检查请求是否有效的 HTTP 请求,但是可以使用它来确定用户对特定资源的访问权限吗?

用例

资源显示在页面上。有一个编辑表单用于PUT更新资源。如果显示它的请求OPTIONS /resource/1接受PUT,则会显示一个编辑按钮。

问题

  1. 请求是否OPTIONS适合返回特定用户有权确定授权/权限的动词?

  2. 是否应该OPTIONS在前端代码中使用请求标头信息(或者只是预检验证)?

  3. 是否有任何标准可以通过 REST API 确定经过身份验证的用户的权限?

0 投票
1 回答
61 浏览

haproxy - 为什么 HAProxy 默认使用 HTTP OPTIONS 进行健康检查?

根据HAProxy 配置参考,HAProxy 使用 HTTPOPTIONS请求进行 HTTP 健康检查,默认情况下,使用option httpchk.

由于我认为 Web 服务器是否提供 HTTPOPTIONS处理程序取决于实现,我想知道为什么 HAProxy 默认使用这种请求类型。有没有合理的技术背景?

0 投票
1 回答
370 浏览

cors - access-control-allow-headers: * 被忽略

尽管 OPTIONS*为 Allow-Headers 返回,但我收到了以下 CORS 响应。

'https://example1.com'CORS 策略已阻止从源访问 XMLHttpRequest 'https://example2.net':在预检响应中 Access-Control-Allow-Headers 不允许请求标头字段 x-requested-with。

虽然 OPTION 请求如下所示:

请求标头:

响应标头:

0 投票
2 回答
1892 浏览

java - 选项 Http 请求失败并出现 404 异常,而 Post 请求工作正常

我在 spring 框架中有一个带有可选 PathVariable 的休息端点。

我已将param2Path 变量标记为不需要。所以它是一个可选值。当我不向param2. 但是当浏览器尝试访问此 API 时,它会OPTIONS在发送实际请求之前发送一种POST请求。现在,如果请求在URLOPTIONS中不包含第二个路径变量 ( param2),则它会失败并出现 404 异常。有没有办法解决这个问题?

0 投票
1 回答
119 浏览

authentication - 如何在 ajax 中设置 document.cookie?

我得到的错误

以及我确实需要使用的原因RequestHeader("Cookies", "test");

登录失败:浏览器不支持 Cookie。请启用 Cookie。

我能做些什么来解决这个问题?就像不允许选项时浏览器如何发送标题一样?在发布请求之前发送 get 请求没有帮助,因为没有任何响应 cookie。

页面源代码中的一些 我认为很重要的行。

即使我通过在页面控制台 chrome 选项卡中运行代码来绕过该错误...仍然

请启用 Cookie

所以我尝试了

它有效,但在 js 文件中它甚至没有

返回空!完整代码

0 投票
0 回答
70 浏览

node.js - “可观察”类型上不存在属性“地图”'.ts(2339)

I'm trying to make a connection with node.js and when trying to use the .map it informs that the property does not exist, but the imports description here are correct

I'm trying to make a connection with node.js and when trying to use the .map it informs that the property does not exist, but the imports description here are correct


In Asp.net Core v.2+ you don't have to inject HttpContext or something. Acces User just like this:

0 投票
3 回答
71 浏览

c# - 如何将对象模型(其中包含对象模型数组)传递给 API 以作为参数插入

我是角度的新手,试图为我的对象模型制作参数,每当我对我的对象进行字符串化时,它都会生成一个 API 不接受的大字符串。我该怎么办..?

这是我要转换为参数的对象。

在 TypeScript 中我正在这样做

收到此错误

" https://localhost:44304/QAEvaluation/insert?qaEval=%7B%22qaevaluationid%22:-1,%22agentid%22:1,%22callerid%22:%221234%22,%22callon%22的 HTTP 失败响应:%2202/13/2020%2010:38:14%20AM%22,%22duration%22:%22304%22,%22overallfeedback%22:%22adasdasd%22,%22isfatal%22:false ......。并打开:404 OK”