浏览器安全的基石是"同源政策",所谓"同源"指的是"三个相同"。
- 协议相同
- 域名相同
- 端口相同
举例来说,http://www.example.com/dir/page.html这个网址,协议是http://,域名是www.example.com,端口是80(默认端口可以省略)。它的同源情况如下。
-
http://www.example.com/dir2/other.html:同源 -
http://example.com/dir/other.html:不同源(域名不同) -
http://v2.www.example.com/dir/other.html:不同源(域名不同) -
http://www.example.com:81/dir/other.html:不同源(端口不同)
同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据。
跨域指的是前端页面请求一个非同源的 API 地址,这种请求一般来说会被浏览器阻挡。
参考文档:https://alibaba.github.io/ice/docs/basis/api-communicate