所有现代的浏览器都支持CORS,因此我们应该利用这一功能。
它适用于简单的握手技术,即两个域通过发送/接收的HTTP标头相互通信以相互信任。 由于避免XSS和其他恶意尝试,必须使用相同的源策略,因此人们一直期待着这样做。
要启动跨域请求,浏览器会发送带有Origin HTTP标头的请求。 此标头的值是为页面提供服务的网站。 例如,假设[http://www.example-social-network.com]上的页面尝试访问online-personal-calendar.com中的用户数据。 如果用户的浏览器实现了CORS,则将发送以下请求标头:
来源:[http://www.example-social-network.com]
如果online-personal-calendar.com允许该请求,它将在响应中发送一个Access-Control-Allow-Origin标头。 标头的值指示允许哪些原始站点。 例如,对先前请求的响应将包含以下内容:
访问控制允许来源:[http://www.example-social-network.com]
如果服务器不允许跨域请求,则浏览器将错误发送到example-social-network.com页面,而不是online-personal-calendar.com响应。
要允许访问所有页面,服务器可以发送以下响应头:
访问控制允许来源:*
但是,这可能不适用于需要考虑安全性的情况。
在下面的Wiki页面中可以很好地解释。[http://en.wikipedia.org/wiki/Cross-origin_resource_sharing]