前篇:https://blog.csdn.net/wwyywwsaber/article/details/123977789
什么是跨域?
为了保证浏览器的安全,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。这叫同源策略,同源策略是浏览器安全的基石。
如果一个请求地址里面的协议、域名、端口号都相同,就属于同源。
依据浏览器同源策略,非同源脚本不可操作其他源下面的对象,想要操作其他源下的对象就需要跨域。
最简单的理解,前后端分离的项目,往往需要跨域。
什么是CORS
CORS是为了解决浏览器跨域问题,由W3C提出的跨源资源共享方案。即(Cross-Origin Resource Sharing)。
CORS请求分两类:
- 简单请求
- 非简单请求
简单请求
CORS的策略是请求时在请求头增加一个Origin字段,服务器收到请求后,根据该字段判断是否允许该请求访问。如果允许,就在请求头信息中添加Access-Control-Allow-Origin字段,并返回正确的结果;如果不允许,就不添加Access-Control-Allow-Origin字段。
非简单请求
浏览器会