由于同源策略的缘故,以往我们跨域请求,会使用诸如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+

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式