1. 什么是同源
所谓“同源”指的是“三个相同”。
协议相同
域名相同
端口相同
举例
举例来说
www.example.com/dir/page.ht…
这个网址,协议是http://,域名是www.example.com,端口是80(默认端口可以省略),它的同源情况如下。
www.example.com/dir2/other.…
同源
example.com/dir/other.h…
不同源(域名不同)
v2.www.example.com/dir/other.h…
不同源(域名不同)
www.example.com:81/dir/other.h…
不同源(端口不同)
www.example.com/dir/page.ht…
不同源(协议不同)
2. 什么是跨域
跨域是指跨域名的访问,以下情况都属于跨域:
跨域原因说明 示例
域名不同 www.jd.com 与 www.taobao.com
域名相同,端口不同 www.jd.com:8080 与 www.jd.com:8081
二级域名不同 item.jd.com 与 miaosha.jd.com
如果域名和端口都相同,但是请求路径不同,不属于跨域,如:
跨域问题是浏览器对于ajax请求的一种安全限制:一个页面发起的ajax请求,只能是于当前页同域名的路径,这能有效的阻止跨站攻击。
因此:跨域问题 是针对ajax的一种限制。