Session的理解


现在我要在网上买东西。

首先,输入账号和密码,提交,服务器首先判断请求报文里有没有sessionid,没有,也就是说二者之间还没有建立起会话机制,但服务器一看我要登陆,那赶紧建一个session对象吧(何时建立取决于服务器程序),不然怎么收集我的消费行为啊,然后服务器就生成一个session对象,记录登陆信息,并用sessionid来唯一标志这个它,然后sessionid作为响应报文中set-cookie字段的name=value属性(及其他属性)返回给客户端,客户端生成一个cookie(保存在客户端内存中,有效期到用户关闭浏览器)来保存此sessionid。此时一次http通信就完了。如果我在提交前点击了记住密码,服务器同时会在set-cookie字段中新增一个name=value属性(及其他属性),浏览器生成一个cookie存储在本地(有效期较长),下次到登陆界面时,浏览器就会把账号和密码自动填充。

然后,我选了一双鞋加入购物车,一次http通信完成,服务器首先检查http请求的cookie中sessionid的值,找到刚开始时创建的那个session对象,并将我的这次选择记录在session对象中;然后我又看上了一件衣服,加入购物车,又是一次http通信,过程和上次一样。此时,session对象中就保存了我从登陆到付账前的所有选择,将我的行为串了起来。

接下来付账,服务器可能把我的购物清单作为一条记录保存在数据库中,作为大数据挖掘的一小部分。 

sessionid(假设为43k49fh32i97)默认以Cookie的name=value方式传送。如果浏览器禁用了Cookie,Web服务器会采用URL重写的方式,将sessionid=43k49fh32i97加入到URL中来传送sessionid


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值