规定:浏览器要求在解析Ajax请求时,要求浏览器的路径与Ajax请求的路径必须满足三个要求,则满足同源策略,可以访问服务器。
三个要求:
请求协议://域名:端口号都必须相同!!!
要素:
1.浏览器的请求路径
2.Ajax请求的网址
同源策源案例
案例1:
1.浏览器地址 http://localhost:8090/findAll
2.Ajax请求地址 http://localhost:8090/aaaaa
满足同源策略,服务器可以正常访问
案例2:
1.浏览器地址 http://localhost:8091/findAll
2.Ajax请求地址 http://localhost:80ongyu90/aaaaa
不满足同源策列,端口号不同,属于跨域请求
案例3:
1.浏览器地址 http://localhost:8091/findAll
2.Ajax请求地址 https://localhost:8090/aaaaas
不满足同源策列,协议不同,属于跨域请求
案例4:
前提:IP与域名映射
1.浏览器地址 http://www.baidu.com/findAll
2.Ajax请求地址 https://10.0.1.1/aaaaas
不满足同源策列,域名不同
案例5:
1.浏览器地址 http://10.0.1.1:80/findAll
2.Ajax请求地址 https://10.0.1.1/aaaaas
可以!!!默认端口就是80
案例6:
1.浏览器地址 https://10.0.1.1/findAll
2.Ajax请求地址 https://10.0.1.1:443/aaaaas
可以!!!https协议默认端口443
什么是跨域?违反同源策略
跨域解决方法
JSONP(淘汰)
核心用法:利用<script src = "远程服务器网址"></script>
获取数据时语法:callback(JSON数据)
CORS方式
跨域资源共享,现在主流的浏览器都支持core方式,如果需要跨域,则需要配置响应头信息,标识是否可以跨域
服务器端标识: