什么是跨域?

跨域,指的是浏览器不能执行其他网站的脚本或引用其他网站的CSS、图像等资源。它是由浏览器的同源策略造成的,是浏览器对JavaScript、CSS、图像、字体等资源施加的安全限制。

同源与跨域的形式

“同源”与跨域正好相反,是指域名,协议,端口均相同。同源与跨域的形式如以下几个例子:

http://www.123.com/index.html 调用 http://www.123.com/server.php   (非跨域,即同源

http://www.123.com/index.html 调用 http://www.456.com/server.php  (主域名不同:123/456,跨域)

http://abc.123.com/index.html 调用 http://def.123.com/server.php  (子域名不同:abc/def,跨域)

http://www.123.com:8080/index.html 调用 http://www.123.com:8081/server.php  (端口不同:8080/8081,跨域)

http://www.123.com/index.html 调用 https://www.123.com/server.php  (协议不同:http/https,跨域)

请注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域。

为什么浏览器要限制跨域访问呢?

一是安全问题:如果一个网页可以随意地访问另外一个网站的资源,那么就有可能在客户完全不知情的情况下出现安全问题。

二是保护源网站的资源:保护源网站JavaScript、CSS、图像、字体等资源不被别的网站盗用。我们要求您进行跨域访问设置就是出于此目的,为了让您网站引用的在线字体不会被别的网站轻而易举地抄袭。

我们的跨域访问策略