http:// www. aaa.com:8080/index/vue.js
协议 子域名 主域名 端口号 资源
同源指的是协议、域名、端口号三者一致,若其中一个不一样就会产生跨域问题。
三个允许跨域加载资源的标签 img、link、script
跨域是浏览器客户端是可以发送请求的,后端也会正常返回结果,但结果被浏览器拦截了。
解决跨域的方案:
JSONP:通过script标签来请求数据 只适用于get请求(需要服务端支持才行)
CORS:由服务器端控制,浏览器只是被动地遵从服务器的跨域策略。服务器可以非常灵活地控制哪些源可以访问自己的资源,从而实现安全的跨域访问。(需要浏览器和服务端同时支持)
websocket:TCP上的连接协议,允许客户端和服务器之间进行实时的双向数据传输。
反向代理:设置与浏览器客户端"同源"的一个中间站服务器, 浏览器发送请求给中间站 然后由中间站发送请求先目标服务器发送请求,中间站在对目标服务器响应的数据进行处理后再返回给浏览器客户端。(隐藏了服务器的真实地址,提升了安全性)