首页  >  文章  >  web前端  >  CORS预检如何验证请求权限?

CORS预检如何验证请求权限?

Patricia Arquette
Patricia Arquette原创
2024-10-18 21:49:04991浏览

How Does CORS Preflighting Verify Request Permissions?

了解 CORS:预检请求

跨源资源共享 (CORS) 涉及启用对来自不同来源的资源的受控访问。为了实现这一点,浏览器实现了“预检”机制来验证是否允许请求。以下是如何正确实现 HTTP 请求预检:

带有 Access-Control-Allow-Origin 标头的服务器响应

如上所述,服务器必须添加“Access- Control-Allow-Origin”标头及其响应具有适当的值(例如,“*”以允许所有来源)。此标头授予请求的权限。

使用 OPTIONS 请求预检

要预检请求,浏览器会在实际请求之前使用 HTTP OPTIONS 方法发送一个附加请求要求。此请求包含以下标头:

  • Access-Control-Request-Method:指定实际请求使用的方法(例如,POST、GET)。
  • Access-Control-请求标头:列出将在实际请求中使用的附加标头(例如 X-Custom-Header)。

服务器对预检请求的响应

服务器应该在其响应中确认这些预检标头。如果请求被允许,响应应包括:

  • Access-Control-Allow-Origin:与预检请求中的值相同。
  • Access-Control-Allow-Methods:允许的方法列表。
  • Access-Control-Allow-Headers:允许的标头列表。

至关重要的是,“Access-Control-Allow-Headers”标头必须 的值不是“*”,但它应该与“Access-Control-Request-Headers”标头中指定的标头匹配。

一旦服务器将此响应发送到预检请求,浏览器将发出实际请求。

其他资源

有关 CORS 的更多全面信息,请参阅 HTML5 Rocks 文档:http://www.html5rocks。 com/en/tutorials/cors/

以上是CORS预检如何验证请求权限?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn