safari浏览器 session tomcat服务器

今天遇到一个问题,苹果的safari浏览器访问,存储不了session,查了一些资料,说是safari浏览器每一次请求都会创建一个新的session,我当时就震惊了额, 

那怎么办,和经理聊了一下我们的访问方式之后解决了。

简单和大家介绍一下背景,我们是页面书写人员在本地起了一个服务,页面通过js的ajax发送jsonp跨域的请求来访问测试服务器的接口,

在这种情况下,浏览器发送请求访问两个接口(A,B),A接口像手机发送一个验证码,并把验证码存放session中,此时在A中是可以取出session值的;但是在

浏览器访问接口B时,就取不出来session值了。

这么一来我的直觉告诉我,这是浏览器的问题,因为我用安卓都没有问题,但是苹果确有问题,最终确定和浏览器没有关系。

因为页面在本地起的服务,访问在另一台服务器的接口服务,这样的话,就像两个session容器罐子,页面的session在1号罐子里,而另一台服务器上的sesion在2号

罐子里,这样当浏览器访问访问2号罐子时,我们就发现当我们从1号罐子发来的request中取session时,就会取不到session了。因为页面所在的服务器和另一台

服务器中session是两个不同的概念。

解决方案:

1.将页面放在接口服务下放在同一个服务器下。

2.使用redis等做session的共享(可能这个说法不是很准确,希望大家可以见谅)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值