首先,我们可能有一个疑问,就是为什么要使用代理呢?

    作为一名前端开发人员,在普遍使用前后端开发的时代,跨域是不可避免的问题。可能又有小伙伴问了,什么是跨域呢?我们在这里简单聊一下吧。

    跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的的同源策略造成的,是浏览器对用户安全的一种策略限制。

    同源策略限制了哪些行为呢?
    1、Cookie、LocalStorage 和 IndexDB 无法读取
    2、DOM 和 JS 对象无法获取
    3、Ajax 请求发送不出去

    我们就着重关心第3条,Ajax 发送不出去怎么办?

    自然而然会问,怎么样才能让 Ajax 发送出去呢?带着问题,我们看下面这个简单的绘图。

    当我们直接从aaa网站请求百度接口时,由于域名不相同(也有可能是协议、端口不相同),浏览器会阻止本地网站向百度发起ajax请求,也就是同源策略。

    现在我们既然知道了,两个不同协议、域名、端口的网站,ajax互相请求会被浏览器阻止。那我们该怎么解决前端跨域问题呢?

    解决办法有三个:
    1、jsonp方式、缺点:它只支持GET请求,而不支持POST等其它请求
    2、让后端开启CORS跨源资源共享
    3、代 理