JSONP -- one way of cross-domain data sharing
要说清楚JSONP首先得说Same-origin policy,同源策略。为了安全起见,两个不同得网站之间是不能访问对方的数据的,比如A站的cookies不能被B站访问。但是如果这两个网站是相同domain的,比如是同一个公司的网站,那彼此访问是没有问题的,因为是可信任的。就像同domain的OOS(单点登录)的实现可以用cookie来实现一样。 这样的domain,或者说Same-origin里面的origin指的是URI scheme,hostname<script type="application/javascript"
src="http://server.example.com/Users/1234">
</script>
比如baidu地图API有个方法可以返回某个地方的坐标是多少: JSONP是有安全隐患的,这很正常,它并不是一个行业标准,只是人们为了解决跨域访问的问题而自己想出的办法。曾经有人提议定义标准来弥补这一缺陷,但是提议被放弃了,因为当时有了跨域访问的另外一个标准CORS。 所以JSONP并不是跨域访问的唯一方法,也不是一个完美的方式,但是它的确是简单好用的方式,并且安全隐患是可以编码解决的。 其他一些解决跨域数据访问的方式参见维基百科: https://en.wikipedia.org/wiki/Same-origin_policy 本文的一些概念性论述也参考了维基百科。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |