image.png
出于安全考虑, 浏览器不允许脚本(如 javascript等)进行跨域名的HTTP请求. 故当使用XMLHttpRequest或Fetch只能请求自身所处上下文中的内容.
为了满足应用的要求, 必须要让浏览器放开跨站(cross-domain)访问的限制.
Cross-Origin Resource Sharing (CORS), 即跨域名资源共享机制便应运而生了.
CORS机制给予web服务器跨域名访问控制的功能, 即它可以满足跨域名资源的安全传输.
现代的浏览器使用XMLHttpRequest或Fetch(二者都是web API)等API容器中的CORS来实现跨域资源共享.
很简单一个例子, 如果服务器允许跨站请求的话, 需要在响应头中加入Access-Control-Allow-Origin: *, 这样浏览器才会放行这个响应.
另外还有单独指定的, 详见链接:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
不过相对老的浏览器, 也许需要使用JSONP的帮助. 目前新的浏览器都推荐使用CORS机制.