跨域解决方案

为什么要跨域?

因为同源策略,同源策略是为了不让恶意网站获取你的如cookie的私人数据,但现实中要跨域寻求其他源下的资源

jsonp

原理:通过script的无跨域限制的特点实现,通过同时将一个callback函数传给服务端,这个函数用于接收服务端的数据
缺点:只能发送get请求(script特点),所以容易被劫持url,不安全

CROS跨域资源代理

原理:服务器通过在响应头中添加允许访问的源来实现跨域
缺点:服务端只能写一个源 或者 如果要多源 可以用*,但是不能携带cookie,否则会被假装客户信息登录

proxy

原理:使用webpack、webpack-dev-server配置proxy,前提是没有被服务端列入黑名单
缺点:貌似没有,proxy目的是为了解决CROS的只能单源的问题,proxy相当node模拟服务器请求,服务器请求是不存在跨域的,浏览器之间的请求才存在

ngnix反向代理

原理:不需要前端去配,服务器部署的事情

前面四种够了

原文地址:https://www.cnblogs.com/fengxiongmiao/p/13822530.html