时间:2021-05-25
它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。
本文详细介绍CORS的内部机制。
(图片说明:摄于阿联酋艾因(Al Ain)的绿洲公园)
一、简介
CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。
整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。
因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。
二、两种请求
浏览器将CORS请求分成两类:简单请求(simple request)和非简单请求(not-so-simple request)。
只要同时满足以下两大条件,就属于简单请求。
(1) 请求方法是以下三种方法之一:
HEADGETPOST
(2)HTTP的头信息不超出以下几种字段:
AcceptAccept-LanguageContent-LanguageLast-Event-IDContent-Type:只限于三个值application/x-Content-Type: text/html; charset=utf-8
上面头信息中,Access-Control-Allow-Origin字段是每次回应都必定包含的。
五、与JSONP的比较
CORS与JSONP的使用目的相同,但是比JSONP更强大。
JSONP只支持GET请求,CORS支持所有类型的HTTP请求。JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。
(完)
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文详细介绍了javascript跨域资源共享,供大家参考,具体内容如下1.为什么提出跨域资源共享(CORS)?因为XHR实现ajax的安全限制是:XH
CORS(Cross-originresourcesharing)是一个W3C标准,翻译过来就是"跨域资源共享",它主要是解决Ajax跨域限制的问题。CORS需
前言CORS即CrossOriginResourceSharing跨域资源共享.跨域请求分两种:简单请求、复杂请求.简单请求简单请求必须满足下述条件.HTTP方
跨域资源共享CORS(Cross-originResourceSharing),是W3C的一个标准,允许浏览器向跨源的服务器发起XMLHttpRequest请求
跨域资源共享CORS(Cross-originResourceSharing),是W3C的一个标准,允许浏览器向跨源的服务器发起XMLHttpRequest请求