同源策略
同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方的资源。比如说 http:// a.com 下面的脚本不能读取 http:// b.com 接口里面的数据。
同源指的是:
- 协议相同
- 域名相同
- 端口相同
对于域名:http://a.com:8080
- https://a.com:8080 不同源 协议不相同
- http://a.com:8081 不同源 端口不相同
- http://b.com:8080 不同源 域名不相同
- http://a.com:8080/home 同源
跨域
跨域是指一个域下的文档或脚本试图去请求另一个域下的资源
注意,跨域的请求实际上是发送出去了,并且服务器也做出了响应,响应头里面也出现了200 OK 的字符,但是浏览器出于安全方面的考虑,最终并没有得到数据。
getWeather是一个跨域请求,请求发送成功,服务器作出了响应,但是浏览器没有得到数据,如果是同源请求,那么请求得到的结果是这样的: