1 回答
TA贡献1803条经验 获得超3个赞
为什么 response.setHeader("Access-Control-Allow-Origin", "*"); ?
跨源资源共享 (CORS) 是一种安全概念,允许限制在 Web 浏览器中实现的资源。它可以防止 JavaScript 代码生成或使用针对不同来源的请求。
例如,您的 Web 应用程序在 8080 端口上运行,并且通过使用 JavaScript,您试图从 9090 端口使用 RESTful Web 服务。在这种情况下,您将在 Web 浏览器上面临跨源资源共享安全问题。要授予访问权限,您可以将其设置为 * 或您的域
CORS 预检请求是检查 CORS 协议是否被理解的 CORS 请求。
这是一个 OPTIONS 请求,使用三个 HTTP 请求标头:Access-Control-Request-Method, Access-Control-Request-Headers, and the Origin header.
请求由浏览器在需要时发出preflight。automatically在正常情况下,前端开发人员不需要自己制作此类请求。
DELETE例如,在发送 DELETE 请求之前,客户端可能会通过使用预检请求询问服务器是否允许请求:
OPTIONS /resource/foo
Access-Control-Request-Method: DELETE
Access-Control-Request-Headers: origin, x-requested-with
Origin: https://foo.bar.org
如果服务器允许,那么它将使用 Access-Control-Allow-Methods 响应标头响应预检请求,其中列出了 DELETE:
HTTP/1.1 204 No Content
Connection: keep-alive
Access-Control-Allow-Origin: https://foo.bar.org
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
添加回答
举报