如何解决跨域问题
如何解决跨域问题
跨域首先要理解同源策略
同源策略
规定:浏览器要求,在解析Ajax请求时,要求浏览器的路径与Ajax的请求的路径必须满足三个要求,则满足同源策略,可以访问服务器。
要求:
协议、域名、端口号都相同,只要有一个不相同,那么都是非同源
这就要要求到浏览器请求路径、Ajax请求的网址相同
而跨域就是实现浏览器运行向服务端发送跨域请求,从而克服Ajax只能同源使用的限制
前端跨域解决方式
常见的跨域有三种:
jspn跨域,原理:动态生成script标签,通过script标签引入接口地址(因为script标签不存在跨域的)
cors跨域(后端开启) :全称 “跨域资源共享”,原理:它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制
vue代理服务器proxy跨域:通过请求本地的服务器,然后本地的服务器再去请求远程的服务器(后端部署接口的服务器),最后本地服务器再将请求回来的数据返回给浏览器(本地服务器和浏览器之前不存在跨域)
两个关键点:
本地服务器(利用node.js创建的本地服务器进行代理,也叫代理服务器)和浏览器之间不存在跨域
服务器和服务器之间不存在跨域
自己曾在vue项目中配置过
vue代理服务器proxy跨域:通过请求本地的服务器,然后本地的服务器再去请求远程的服务器(后端部署接口的服务器),最后本地服务器再将请求回来的数据返回给浏览器(本地服务器和浏览器之前不存在跨域)
1 | |
代理跨域的主要方式是利用服务器请求服务器的方式避过跨域问题来实现的.大概的流程: 浏览器===>代理服务器===>目标服务器.
如何解决跨域问题
https://tian-1-2.github.io/typblog/2022/10/18/20221018-如何解决跨域问题/