JavaScript 的同源策略
JavaScript的同源策略是Web开发中一个十分重要的安全措施。它指的是,两个文档或脚本只有在协议、主机名和端口这三个信息都相同的情况下,才具有相同的源。其他情况下,它们就被认为是异源(跨源)的,JavaScript的访问就会受到限制,以防止未经授权的信息全球公开。
同源策略的限制主要针对以下三个方面:
- Cookie、LocalStorage及IndexDB等存储性数据
- DOM节点
- Ajax等发送网络请求的方法
举个例子,假如有两个网页a和b,它们的本地存储均有以下操作:
localStorage.setItem('key', 'value');localStorage.getItem('key');在同源的情况下,这两个操作可以互相访问,而在不同源的情况下,这两个操作将无法访问对方的本地存储,因为这样做会导致安全风险。在实际开发中,我们常常会面临这样的问题:如何与其他域的服务器进行通信?
解决方法就是,使用JSONP技术。JSONP可以破解跨域限制,它的原理是利用
