现在我要在网上买东西。
首先,输入账号和密码,提交,服务器首先判断请求报文里有没有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对象中就保存了我从登陆到付账前的所有选择,将我的行为串了起来。
接下来付账,服务器可能把我的购物清单作为一条记录保存在数据库中,作为大数据挖掘的一小部分。