cors跨域资源共享
CORS (Cross-Origin Resource Sharing,跨域资源共享) 是一种安全机制,它允许一个网站的网页从另一个域请求资源。这在前后端分离的架构中尤为重要
什么是域?
一个源(域名、协议、端口)
前后端分离的定义本身决定了跨域需求
前后端分离架构的核心特点就是前端和后端作为独立单元部署和运行:
- 前端:单独的服务器/端口/域名下运行
- 后端:独立的服务器/端口/域名下提供API
这种分离本质上就创造了"跨域"场景,不是可选的设计决策,而是架构定义的一部分。
浏览器的同源策略不是一个可选功能,而是深入浏览器核心的安全机制:
- 它不能被前端代码关闭
- 它无法通过常规前端编程绕过
- 它是Web安全的基础屏障
同源策略是网络安全的基石之一,它防止:
- 跨站点请求伪造(CSRF):恶意网站无法代表你向你已登录的银行发送请求
- 跨站脚本攻击(XSS):限制攻击者注入的脚本能访问的资源
- 数据泄露:防止恶意网站读取其他网站的敏感数据
cors如何工作?
CORS通过添加HTTP头来工作,这些头信息告诉浏览器允许哪些源访问资源: