同源策略及跨域的问题

同源策略

规定:浏览器要求在解析Ajax请求时,要求浏览器的路径与Ajax的请求的路径必须满足三个要求则满足同源策略.可以成功访问服务器.

三个要求:请求的协议://域名:端口号 都必须相同!!!

要素:1.浏览器的请求路径  2.Ajax请求的网址

同源策略的案例

案例一:

1.浏览器地址  http://localhost:8080/findAll

2.Ajax请求地址  http://localhost:8080/aaaa

满足同源策略.服务器可以正常访问

案例二:

1.浏览器地址  http://localhost:8090/findAll

2.Ajax请求地址  http://localhost:8080/aaaa

不满足同源策略. 端口号不同,属于跨域请求

案例三:

1.浏览器地址  http://localhost:8080/findAll

2.Ajax请求地址  https://localhost:8080/aaaa

不满足同源策略.  请求协议不同,属于跨域请求

案例四:

前提:IP与域名映射

1.浏览器地址  http://www.baidu.com/findAll

2.Ajax请求地址  http://10.0.1.1/aaaa

不满足同源策略,域名不同

案例五:

1.浏览器地址  http://10.0.1.1:80/findAll

2.Ajax请求地址  http://10.0.1.1/aaaa

满足同源策略.服务器可以正常访问 域名10.0.1.1的默认端口号就是80

案例六:

1.浏览器地址  https://10.0.1.1:443/findAll

2.Ajax请求地址  https://10.0.1.1:443/aaaa

满足同源策略.服务器可以正常访问

什么是跨域?

违反了同源策略的请求就是跨域的请求

跨域的解决方案

JSONP(了解)

JSONP(JSON withPadding)是JSON的一种"使用模式",可用于解决主流浏览器的跨域数据访问的问题.由于同源策略,一般说位于server1.example.com的网页无法与不是server1.example.com的服务器沟通,而HTML的核心用法:利用返回值与法固定的:callback(JSON数据)

CORS方式

说明:CORS(Cross-origin resource sharing) "跨域资源共享",现在的主流的浏览器都支持cors的方式.如果需要跨域,则需要配置响应头信息.表示是否允许.

一般在项目的controller类中加入注解@CrossOrigin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值