您的位置:首页 > 其它

深入理解Session

2016-03-08 20:54 344 查看
首先由一个在项目中遇到的问题来引入

不管是在做PHP的项目也好,还是在做Javaweb的项目也好,相信大家都会经常用到session。做web项目可能觉得只要不关掉浏览器,我存的session是什么,取出来就是什么。但是给app写过接口就知道,其实session是用不了的。比如,web我们经常将短信验证码存到session,然后验证再从session取出来验证,于是,写app接口的时候,我们也这么做。但是在下一次请求验证短信验证码的时候,我们就会神奇的发现,取出来的session总是null。这到底是为什么呢,这是我之前做过的项目遇到的问题,比较深刻,今天有空就记录一下。

Session代表服务器与客户端的一次会话过程,这个过程是连续的,也可以时断时续的。浏览器第一次请求时,服务器会其创建一个session,并赋予其一个sessionID,这个sessionID是根据客户端的cookie而生成的。对于浏览器来说,对同一个服务器的不同请求,其http请求的cookie是相同的,因此生成的sessionID是相同的。但是APP的每次请求,都会生成不同的sessionID,因此不同请求存储的值都是对不同的sessionID,因此不同请求去根据上次存储的键值去获取session肯定是null。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: