CORS (Cross-Origin Resource Sharing,跨域资源共享)
术语:
-
源(Origin)
三元组:方案(协议)
主机(域名)
端口
-
同源策略(Same-origin_policy)
同源策略是一个重要的安全策略,它用于限制一个origin
的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。
MDN:https://developer.mozilla.org/zh-CN/docs/Web/Security/Same-origin_policy -
跨域资源共享(Cross-Origin Resource Sharing)
跨域资源共享是一个系统,它由一系列传输的 HTTP 头组成,这些 HTTP 头决定浏览器是否阻止前端 JavaScript 代码获取跨域请求的响应。
同源安全策略默认阻止“跨域”获取资源。但是 CORS 给了 web 服务器这样的权限,即服务器可以选择,允许跨域请求访问到它们的资源。
MDN:https://developer.mozilla.org/zh-CN/docs/Glossary/CORS
示意图及 HTTP 交互过程:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS
Java 后端支持 CORS:
- 自定义 Web 应用的 Filter,根据要求在 HTTP Response 中添加 CORS Header
- Spring MVC 也提供了 CORS 的支持
如@CrossOrigin
注解等