什么是跨域
字面理解,前后端不"同源",这就发生了跨域
怎么区分不同的域
域的组成:协议+域名+端口
同源策略:浏览器的一种安全机制。目的是保证限制前端请求的读取能力,防止恶意网站随意对我们浏览器数据进行读取,造成数据泄露
跨域问题的解决方案:
CORS跨域资源共享
当一个请求发送跨域时,浏览器会给这个请求的请求头加上origin,确定请求来源,相当于自报家门。
后端处理到这个请求时 设置一些字段返回响应
浏览器处理到这个响应时
通过Access-Control-Allow_origin 判断哪些请求源可以访问
通过Access-Control-Allow_Methods 判断哪些请求方法可以访问
通过Access-Control-Allow_Headers 判断哪些请求头可以访问
缺点:
1 需要后端配合
2 非简单请求会导致预检请求,额外发送一次HTTP请求