同源
1.同源的概念
同源(也叫同源策略),是浏览器中的一种安全机制
2.同源的规则
同源指‘三个相同’,协议相同,域名相同,端口号相同(简单来说,就是同一个网站)
http://www.zs.com/8088
http://www.zs.com/80 端口号不同
http://www.ls.com/8088 域名不同
https://www.zs.com/8088 协议不同
3.同源的目的
是为了保护用户信息的安全,防止恶意网站窃取信息
4.同源策略的限制范围(也就是不同源的情况)
cookie,localStorage,IndexDB无法读取
DOM无法获取
ajax请求不能发送(并不是说请求不能发送了,而是在请求的过程中被拦截了)
注意点:同源机制的判断时机:
发送ajax请求时,不判断两个页面是否同源(可以发送请求)
浏览器也可以接收到后台响应的内容(能接收响应)
接收到响应后,浏览器才会根据同源策略判断响应内容的页面和当前页面是否是同源的,如果是同源的,请求发送成功;否则就拦截
跨域
1.出现的原因
根据同源策略,只能是同源的网站之间才可以请求数据;但实际是需要请求不同源网站的数据(比如百度请求淘宝的数据),所以引入了跨域的概念。
2.跨域的目的
实现不同源的网站之间可以相互请求数据,但是,浏览器是不支持跨域的,所以要解决主流浏览器的跨域数据访问的问题。
3. 解决跨域问题有两种方式:jsonp 和CORS
1. jsonp(Json with padding)
因为img,link,script标签不受同源策略的影响,所以用它们来解决跨域的问题。