CORS’s source, principle and implementation

跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不一样源服务器上的指定的资源。当一个资源从与该资源自己所在的服务器不一样的域、协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求。跨域

好比,站点 http://domain-a.com 的某 HTML 页面经过 的 src 请求 http://domain-b.com/image.jpg。网络上的许多页面都会加载来自不一样域的CSS样式表,图像和脚本等资源。浏览器

出于安全缘由,浏览器限制从脚本内发起的跨源HTTP请求。 例如,XMLHttpRequest和Fetch API遵循同源策略。 这意味着使用这些API的Web应用程序只能从加载应用程序的同一个域请求HTTP资源,除非响应报文包含了正确CORS响应头。安全

这段描述不许确,并不必定是浏览器限制了发起跨站请求,也多是跨站请求能够正常发起,可是返回结果被浏览器拦截了服务器

跨域资源共享( CORS )机制容许 Web 应用服务器进行跨域访问控制,从而使跨域数据传输得以安全进行。现代浏览器支持在 API 容器中(例如 XMLHttpRequest 或 Fetch )使用 CORS,以下降跨域 HTTP 请求所带来的风险。网络

什么状况下须要 CORS ?
跨域资源共享标准( cross-origin sharing standard )容许在下列场景中使用跨域 HTTP 请求:
前文提到的由 XMLHttpRequest 或 Fetch 发起的跨域 HTTP 请求。
Web 字体 (CSS 中经过 @font-face 使用跨域字体资源), 所以,网站就能够发布 TrueType 字体资源,并只容许已受权网站进行跨站调用。dom

相关文章
相关标签/搜索