加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

跨来源资源共享CORS

发布时间:2020-12-16 19:26:57 所属栏目:百科 来源:网络整理
导读:跨来源资源共享 跨来源资源共享 (CORS)是一份浏览器技术的规范,提供了 Web 服务从不同网域传来沙盒脚本的方法,以避开浏览器的同源策略 [1] ,是JSONP模式的现代版。与 JSONP 不同,CORS 除了 GET 要求方法以外也支援其他的 HTTP 要求。用 CORS 可以让网

跨来源资源共享


跨来源资源共享(CORS)是一份浏览器技术的规范,提供了 Web 服务从不同网域传来沙盒脚本的方法,以避开浏览器的同源策略[1],是JSONP模式的现代版。与 JSONP 不同,CORS 除了 GET 要求方法以外也支援其他的 HTTP 要求。用 CORS 可以让网页设计师用一般的XMLHttpRequest,这种方式的错误处理比 JSONP 要来的好。另一方面,JSONP 可以在不支援 CORS 的老旧浏览器上运作。现代的浏览器都支援 CORS[2]

浏览器支援

拥有以下宣染引擎的浏览器都支援 CORS:

  • Gecko1.9.1(Firefox 3.5[1]、SeaMonkey 2.0[3])以上
  • WebKit(未确认最早版本,Safari 4 以上、Chrome 3 以上,可能早些)
  • MSHTML/Trident 4.0(Internet Explorer 8)由 XDomainRequest 物件提供部份支援[1]

已知以下浏览器不支援 CORS:

  • 至Opera10.61 为止 Opera 未实作 CORS[4]
  • Carmino2.0.x 系列未实作 CORS,因为这些版本建构在 Gecko 1.9.0 之上[5]
  • Arora0.10.2 有 WebKit 的 CORS 相关 API,但是若使用跨来源要求会失败[6]

[编辑]历史

Tellme Networks的马特·奥什里(Matt Oshry)、布拉德·波特(Brad Porter)与麦克·波德尔(Michael Bodell)于 2004 年 3 月提案将跨来源支援加入VoiceXML2.1[7]以支援 VoiceXML 浏览器的跨来源资料请求。W3C 认为这不应该限制在 VoiceXML 而是一般的机制,因此将提案移到另一份实作备忘录[8]。几个主要的浏览器厂商透过 W3C 的 Web 应用程式工作小组正式的将该备忘录改写为W3C 工作草案并以推动成为W3C 推荐标准为目标。

[编辑]参见

  • 容许任何来源存取的Web服务列表

[编辑]参考资料

  1. ^1.01.11.2https://developer.mozilla.org/En/HTTP_access_control
  2. ^http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/
  3. ^https://developer.mozilla.org/en/Gecko
  4. ^http://dev.opera.com/forums/topic/693452
  5. ^http://forums-test.mozillazine.org/viewtopic.php?f=12&t=1579855
  6. ^http://code.google.com/p/arora/issues/detail?id=904
  7. ^http://www.w3.org/TR/2004/WD-voicexml21-20040323/
  8. ^http://www.w3.org/TR/2005/NOTE-access-control-20050613/

[编辑]外部链接

  • (英文)W3C 工作草案
  • (英文)使用指引
  • (英文)推广 CORS 的网站

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读