有关跨域
什么是跨域
跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。
所谓同源是指,域名,协议,端口均相同
什么情况下会产生跨域
跨域问题的出现是因为浏览器的同源策略问题,同源它是浏览器最核心也是最基本的功能,如果没有同源策略我们的浏览器将会十分的不安全,随时都可能受到攻击。
产生跨域的情况有:不同协议,不同域名,不同端口以及域名和ip地址的访问都会产生跨域
跨域的解决方案目前有三种主流解决方案
jsonp
jsonp实现原理:主要是利用动态创建script标签请求后端接口地址,然后传递callback参数,后端接收callback,后端经过数据处理,返回callback函数调用的形式,callback中的参数就是json
代理(前端代理和后端代理)
Vuejs2.0 利用proxyTable实现跨域请求
跨域前端和后端都可以实现 ,如果只针对vue vue本身可以通过代理的方式可以实现
在vue中主要是通过vue脚手架中的config中的index文件来配置的,其中有个proxyTable来配置跨域的
具体实现:
也可以nginx配置
location /api/ {
proxy_pass http://localhost:8080/myserver/;
}
CORS
CORS全称叫跨域资源共享,主要是后台工程师设置后端代码来达到前端跨域请求的