CORS(Cross-Origin Resource Sharing,跨域资源共享)是一种浏览器的安全机制,用于允许服务器声明哪些源可以访问资源,从而实现跨域访问控制。
为什么需要 CORS
浏览器的同源策略(Same-Origin Policy)限制了不同源之间的资源访问,防止恶意网站窃取数据。但实际开发中,前后端分离、API 网关等场景常常需要跨域访问,这时就需要 CORS。
CORS 工作原理
- 预检请求(OPTIONS):对于非简单请求,浏览器会先发送 OPTIONS 请求,询问服务器是否允许跨域。
- 响应头:服务器通过设置
Access-Control-Allow-Origin
、Access-Control-Allow-Methods
、Access-Control-Allow-Headers
等响应头,告知浏览器允许的跨域策略。 - 实际请求:预检通过后,浏览器才会发送实际的跨域请求。