通用的介绍网上一把(初看确实挺懵),这里只记录下自己的理解。可能不完全对,仅作备忘参考。
跨域资源共享产生的原因:
1、访问网站资源的请求,最终都是浏览器发起的;
2、向A网站的请求,可以是用户访问A网站的页面引发,也可以是用户访问其他页面间接引发(如:其他网站页面中的img标签src到A网站);
3、请求是否正常被执行,取决于浏览器和被请求的网站服务(A网站)
- 浏览器提供判断需要的信息——头信息之中的
Origin
等字段 - 网站服务来判断是否接受调用
- 整个CORS通信过程由浏览器背后完成,使用者基本感受不到
参考资料推荐:
跨域资源共享 CORS 详解 - 阮一峰的网络日志 (ruanyifeng.com)
Enable Cross-Origin Requests (CORS) in ASP.NET Core | Microsoft Docs