接着昨晚的写。。。

上回说到我们可以通过重写请求头的技术,来绕过浏览器的限制,今晚来看令一个在请求头中设置的头信息—–内容缓存

Cache-Control

一些浏览器会缓存通过Ajax请求所获得的内容,在浏览器回话期间不会再次的请求它。我们可以通过设置禁止缓存的头信息可以达到,当请求的内容发生了改变的时候,就会在下一次请求文档时体现出来

需要做的就是在open方法和send方法之间加一句

httpRequest.setRequestHeader(‘Cache-Control’,’no-cache’)

读取响应的头

我们可以通过
1 httpRequest.getResponseHeader(里面写某个响应头)

2 httpRequets.getAllResponseHeaders()

两个方法来获取服务器响应某个ajax时发送回来的http头。

需要注意的是,响应头是服务器在响应请求是首先会写的信息,所以我们可以在readyState == 2 的时候就可以用着两个方法来读取响应头了,而不需要等到4的时候。

跨源请求

默认情况下浏览器限制脚步只能在他们所属的文档的来源内生成ajax请求,HTML5中的跨源资源共享规范提供了一种合法的方式来生成跨源的请求。

方法其实并没有什么黑科技的成分,就是在服务器端设置一个白名单而已,以此声明哪个源可以有特殊的权限来对我进行请求。
在服务端

var origin = req.headers[‘origin’];
if(origin.indexOf(‘xiaoyu’)>-1){
res.setHeader(“Access-Control-Allow-Origin”,origin);

不难懂吧,就是把你要将特殊权限分配给谁的那个域给写进白名单而已,这样拥有特殊权限的源就可以对你发送跨域请求了。

abort()

另一个出现在level2中的方法是abort方法,他是一个可以允许你中途终止请求的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值