什么是跨域?
首先,我们看到跨域这个名词的时候,应该尝试拆词解字,“跨”不用说了,“域”是什么?这里的域不单单指域名
域 = 协议+域名+端口号,例 https://www.csdn.net:8080
跨域问题其实就是在一个域里请求其他域时出现的无法请求的问题。相信做过全栈的小伙伴们,一定对此有所了解了。
跨域问题的原因(浏览器同源策略)
到底是什么原因导致的跨域问题呢?为什么我就不能请求其他域的资源呢?凭什么啊?(有点作hhh)相信刚遇到这个问题的人都会这样想对吧。
浏览器同源策略:
同源策略是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。
MDN 浏览器同源策略
相信看完MDN的解释你也不一定能懂,简单点说,就是浏览器为了安全起见,它不允许不同域的文档或者脚本进行交互。
也就是说你这个域的a页面是不允许访问其他域的b页面的。
当然,对于前后端分离的今天,前后端分别运行在不同的机器上,每当我们请求后端的数据都会出现跨域问题,这当然是不行的。