1.定义
跨域是前端开发中经常会遇到的问题,业务需求前后端分离问题,前端调用后台服务时,通常会遇到 No 'Access-Control-Allow-Origin' header is present on the requested resource的错误,这是因为浏览器的同源策略拒绝了我们的请求。
所谓同源是指,域名,协议,端口相同,浏览器执行一个脚本时同源的脚本才会被执行。如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。
通俗讲:跨域是指A页面想获取B页面资源,如果A、B页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。注意:跨域限制访问,其实是浏览器的限制。理解这一点很重要!!!
当前页面url |
被请求页面url |
是否跨域 |
原因 |
http://www.a.com/ |
http://www.a.com/index.html |
否 |
同源(协议、域名、端口号相同) |
http://www.a.com/ |
https://www |