跨域原理及解决办法

群里大佬开课,随手记录一下

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

跨域只存在与浏览器,脱离浏览器的跨域没有意义.

如果把资源放在一个服务器下,那么资源就从这个服务器请求过来.,不存在跨域.(在这里提一下ajax,服务器转发ajax,就是代理.那么这样就变成了前端代理服务器,或者nginx代理服务器和java的tomcat或者php的apache之间的通信了,而服务器和服务器之间的通信,用的是TCP/IP协议.根本不存在跨域一说.

比如说上线了,打包的资源放在nginx下,nginx无法处理ajax,那么nginx转发ajax就行了,这样一来,资源的发送和接收都是从nginx处进行.就不存在跨域了

 

 

跨域脱离浏览器就没有意义,服务器通信用TCP/IP,浏览器是发送http,安卓的ajax会被安卓拦截转成TCP/IP通信.所以这里的http跨域了,服务器可以收到也可以返回,返回的时候,看下头部信息这个http是否允许跨域,如图,哪里涉及跨域呢,就是服务器和java,让java配置一下允许跨域即可,php等同理.

 

posted @ 2021-10-28 17:35  妄欢  阅读(189)  评论(0编辑  收藏  举报