Ajax-同源策略与跨域

同源策略

同源

  同源指的是两个URL地址具有相同的协议、主机名、端口号

例如:下表给出了相对于 http://www.test.com/index.html 页面的 5 个同源检测结果 

同源策略


是浏览器提供的一个安全功能,不允许非同源的URL之间进行资源的交互

    ajax请求数据要遵循同源策略. 
    html静态文件 与 接口地址 遵循同源策略,反之就是跨域

跨域
  浏览器不允许非同源的URL之间进行交互,所以出现了跨域,   

跨域的拦截  
浏览器允许发起跨域请求,但跨域请求回来的数据,会被浏览器拦截,无法被页面获取到,

 

 突破浏览器跨域限制的方法:

1、CORS:W3C 官方标准,是真正的 Ajax 请求,支持 GET、POST、PUT、DELETE、PATCH等常见的请求方式,

  本质: 服务器在响应添加一个响应头: Access-Control-Allow-Origin: *

2、反向代理

  本质: ajax去自己的服务器要数据,让 自己的服务器 去 第三方的服务器取数据,自己的服务器再返回数据给浏览器。

3.jsonp:只支持 GET 请求,JSONP 不是真正的 Ajax 技术

        在实际开发中很少被使用

        在面试中可能会问到 JSONP 的原理

本质: 动态的创建script标签,给script标签添加src属性,因为动态的创建script标签发送请求是异步在当前的页面上声明了一个函数,从服务器端返回的是该函数的调用,即使是异步,函数声明中的代码没有执行,当函数调用回来时,函数体中的代码才执行

数据是作为函数调用的实参返回的
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

J小C=

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值