简述跨域

82 阅读1分钟

要了解跨域,首先要了解同源的概念

同源:源 = 协议 + 域名 + 端口号,如果两个url的协议、域名、端口号都是相同的,那他俩就同源( baidu.comwww.baidu.com 不同源)。同源策略是浏览器故意设计的功能限制,为了保证用户的隐私安全

跨域:突破同源限制,访问不用源的数据

JSONP跨域:是在当前浏览器不支持CORS跨域的情况下,使用的另一个种跨域方式,通过script的src属性,执行一个包含回调的JS请求,回调里面就有我们的数据,回调名字是随机生成的,把这个名字以callback的参数传给后台,后台会把这个函数返回给我们,并执行。优点:兼容IE;缺点:它是script标签,只能执行get请求

CORS跨域:CORS全称Cross-origin resource sharing跨域资源共享,给了web服务器权限,服务器可以选择,允许跨域请求访问到它们的资源 例如:通过设置响应头Access-Control-Allow-Origin,提前声明,规定哪些url允许访问,那么被允许的url就可以访问本网站的数据了。缺点:不兼容IE9以下