首页 > ajax跨域和不跨域有什么区别?

ajax跨域和不跨域有什么区别?

这是一道面试题,我想了半分钟没想出来。面试就结束了。


最近一个项目涉及ajax跨域方面,我简单说下我自己的理解。
跨域的优势是能充分利用分布式集群系统,使某些服务压力可以分散到多台服务器上。但数据交互的安全性上有一定影响。
不跨域的优势是前台页面和后台服务都在一个服务器下,安全性高,但但不能分摊负载。
目前计算机行业正在向高集成,多并发,低耦合的方向发展。所有基础服务以接口的方式提供是很好的一种方案(像百度地图,微信,支付宝都有服务接口),基础服务和中间件之间的交互也可能采用服务调用的方式,这些问题就牵扯到跨域,处理好跨域和安全的平衡点是这类集成系统的需要重点权衡的方面之一。


非跨域请求限制比较少,但跨域请求的限制很多。

最初XHR对象是不能跨域的,但新版本的浏览器允许跨域,但需要服务端对当前网站开权限。

在不允许跨域的年代,都是通过某些hack的方法来实现跨域的。通常是借助一些天生能够跨域的元素:script, img, iframe,这些元素里面script最好,因为可以很方便地执行JS代码,从而能够对返回的数据进行处理。

【热门文章】
【热门文章】