什么是跨域
当两个域具有相同的协议(如http/https),相同的端口(如80),相同的host(
www.baidu.com),那么我们就可以认为它们是相同的域(协议,域名,端口都必须相同)。
跨域是指协议,域名,端口不一致,出于安全考虑,跨域的资源之间是无法交互的。
解决方案
解决方案是很多的,如前端通过jsonp, window.name , location.hash, window.domain,h5提供的postMessage, 后端可以通过cros, nginx等方案
Access-Control-Allow-Origin
Access-Control-Allow-Origin 是HTML5中定义的一种解决资源跨域的策略。
他是通过服务端返回带有Access-Control-Allow-Origin标识的Response header,用来解决资源的跨域问题。
使用方法,在response添加Access-Control-Allow-Origin,例如
Access-Control-Allow-Origin: www.baidu.com
也可以设置为 * 表示该资源谁都可以用
Access-Control-Allow-Origin: *
如果资源是html页面,可以设置
<meta http-equiv="Access-Control-Allow-Origin" content="*">