CORS

跨域资源共享 (CORS) 是一种浏览器安全机制。默认情况下,页面可以向其他源发送请求,但无法读取响应。CORS 是一组响应头,目标服务器通过这些响应头选择加入,告知浏览器允许该特定源查看结果。

工作原理

对于简单的请求,浏览器会先发送请求,然后除非 Access-Control-Allow-Origin 匹配,否则不会返回响应。对于其他任何情况——例如自定义标头、JSON 内容类型或 GET/POST/HEAD 以外的方法——浏览器会先发送 OPTIONS 预检请求,并且只有在响应允许其使用的方法和标头时才会继续执行。凭据请求需要同时满足 Access-Control-Allow-Credentials 和特定来源的要求,绝不能使用通配符。

误解

CORS 错误意味着请求失败。通常情况下,请求是成功的——服务器已收到请求、执行了操作并返回了响应——但浏览器拒绝将响应传递给你的代码。POST 请求中的"CORS error"可能意味着记录已创建,但你只是看不到确认信息。此外,这并非服务器端的保护机制:除了浏览器之外的任何程序都会完全忽略 CORS。

点击这里试试

从您自己的页面以实时 API 模式运行任何请求并观察预检请求。如果缺少 OPTIONS 处理程序,则会在控制台中显示 CORS 失败,并在网络选项卡中显示 405 错误。

资料来源

其他术语

阅读英文版

所有术语 · 测试技巧 · 全部 39 个模拟 REST API

最后更新时间