跨域的部分理解

1、跨域的原理
跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的。
同源策略,是浏览器对 JavaScript 实施的安全限制,只要协议、域名、端口有任何一个不同,都被当作是不同的域。
跨域原理,即是通过各种方式,避开浏览器的安全限制。

2、跨域的解决方法

  1. JSONP:
    首先我们先弄明白 jsonp 的原理,通俗的讲就是动态生成一个 script,由于 script 不受同源策略的限制,就可以去请求不同域的接口了。

ajax 请求受同源策略影响,不允许进行跨域请求,而 script 标签 src 属性中的链 接却可以访问跨域的 js 脚本,利用这个特性,服务端不再返回 JSON 格式的数据,而是 返回一段调用某个函数的 js 代码,在 src 中进行了调用,这样实现了跨域。

步骤:

A. 去创建一个 script 标签

B. script 的 src 属性设置接口地址

C. 接口参数,必须要带一个自定义函数名,要不然后台无法返回数据

D. 通过定义函数名去接受返回的数据

在这里插入图片描述

  1. CORS:跨域资源共享。就是在后台服务器端允许某个域名下的请求。

修改响应头:
在这里插入图片描述

  1. nginx: 通过服务器反向代理,将前端访问域名跟后端服务域名映射到同源的地址下,从而实现前端服务和后端服务的同源,那自然不存在跨域的问题了。

版权声明:本文为zhazhali_fenqi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。