由于同源策略的缘故,以往我们跨域请求,会使用诸如JSON-P(不安全)或者代理(设置代理和维护繁琐)的方式。而跨源资源共享(Cross-Origin Resource Sharing)是一个W3C规范,其建立在XMLHttpRequest对象之上,允许开发人员像使用同源请求一样的规则,在浏览器端发送跨域请求。
CORS的使用场景很简单。例如,站点bob.com想要请求获取alice.com的数据,由于同源策略缘故,这种情况在传统请求中是不被允许的。然而,bob.com通过CORS请求alice.com,并在alice.com响应头中添加少许特殊的响应头,就可以达到bob.com获取到alice.com数据的目的。
正如你上面看到的例子,要实现CORS,需要客户端和服务端的共同协调。幸运的是,如果你是客户端开发人员,很多具体细节对于你来说是屏蔽的。好了,接下来我们将介绍客户端怎样发起跨域请求,以及服务端如何设置,从而达到支持CORS的目的。
| 发起一个CORS请求 |
该小节讲解了如何使用JavaScript发起一个跨域请求。
-创建XMLHttpRequest对象-
浏览器支持CORS情况,如下:
.Chrome 3+
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26
学习是年轻人改变自己的最好方式