同源策略和jsonp


1、同源策略:在计算机领域,同源策略是web应用安全模块中的一个重要的概念。在同源策略下,一个浏览器允许一个页面以脚本包含的方式获取另一个页面的数据,当且仅当这两个页面是同源的。同源指的是同域名、同主机名,同端口号。同源策略防止一个页面的恶意脚本通过页面的DOM访问另一页面的敏感数据。这个机制对现代web应用有着特别的意义。(现代web应用广泛地依赖HTTP cookies去保留授权用户的session信息,因为服务器是基于HTTP cookies信息去返回敏感信息和改变状态。)
2、JSONP:jsonp一种跨域请求数据的方法。jsonp能绕过同源策略分享数据。HTML的<script>元素允许执行来自跨域的内容。如果不采用CORS头文件,服务返回的纯json数据是不允许跨域分享的。
例如,发起一个对异域服务http:server.example.com/User/1234的请求会返回一个json格式的对象Foo.这个对象根据定义,符合js对象初始化语法。但是当尝试使用这个跨域的数据时,会返回一个js错误。浏览器会下载<script>文件,检查其内容,误认原生的json数据是一个block,并且抛出一个语法错误。及时这数据被简单翻译成一个js对象,也不会被运行在浏览器中的js脚本访问到,因为没有变量的赋值,对象讲道理是不能访问的。
在jsonp中,url请求会作为<script>中src属性的值,其返回的json数据会被以回调方法的形式包裹在js代码里面。这个包装的代码会被浏览器解析。通过这种方法,一个在js环境中已经定义的方法可以巧妙地操纵json数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值