跨域问题’、以及如何解决

(一)什么是跨域?what?

①跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器同源策略造成的,是浏览器施加安全限制【防止恶意的网站窃取数据

同源策略:
        浏览器的同源策略,限制了来自不同源"document"或脚本,对当前"document"读取或设置某些属性。 (白帽子讲web安全[1])
        从一个域上加载的脚本不允许访问另外一个域的文档属性。
    举个例子:
        比如一个恶意网站的页面通过iframe嵌入了银行的登录页面(二者不同源),如果没有同源限制,恶意网页上的javascript脚本就可以在用户登录银行的时候获取用户名和密码。

【同源:域名,协议,端口 均相同。】eg:

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虽然都指向本机,但也属于跨域。

(二)怎么解决的?how?

原文地址:https://www.cnblogs.com/not-alone/p/8552271.html