一.什么是跨域?

跨域指的是浏览器不能执行其他网站的脚本,这是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。

二.什么是同源策略?

请求的url地址,必须与浏览器上的url地址处于同域上,也就是域名,端口,协议都要相同,只要有一个不同,那就会产生跨域。

情况说明 是否允许通信
同一域名下 允许
同一域名下,不同文件夹 允许
同一域名下,不同端口 不允许
同一域名下,不同协议 不允许
同一域名,不同二级域名 不允许
主域相同,子域不同 不允许
域名和域名对应IP 不允许
不同域名 不允许

三.跨域流程

简单了解下跨域
从流程图可以发现跨域其实并不是请求发不出去,请求是能发出去的,同时服务端也能收到请求并且正常返回结果,只是结果被浏览器拦截了,所以没法进行到第三步。

四.如何解决跨域问题

  1. 使用nginx部署为同一域,请求都先发到nginx中,然后由nginx做路由和分发,这样就不会产生跨域问题。
  2. 配置当次请求允许跨域,这个方法是在代码里做具体实现,如果是做分布式的话,可以把跨域问题统一放在网关层处理。

总结

要做分布式微服务,跨域就是必须要解决的一个问题,当然了,解决跨域的方法有很多种,根据实际情况再面向百度编程比较实际。

相关文章:

  • 2021-07-26
  • 2022-02-22
  • 2022-12-23
  • 2021-10-24
  • 2022-01-05
  • 2021-06-19
  • 2021-08-29
  • 2021-06-28
猜你喜欢
  • 2021-10-02
  • 2022-12-23
  • 2021-11-12
  • 2021-06-06
  • 2022-01-06
  • 2022-12-23
  • 2021-12-05
相关资源
相似解决方案