我对cookie和seesion的理解

请教大家一个问题, 由于我在公司一直做的c/s程序,对bs架构一知半解 ,最近看了谢大实现的seesion 想谈谈我的理解,错误的地方请大家批评指正。

一、浏览器 cookie和session从结构上都是键值对(map),cookie的键是url,值的其中之一存储sessionId。 浏览器发出请求时,查找url对应的cookie值,将sessionid和请求一同发送。如果cookie被禁用,将通过url重写的方式附在地址栏发送。

二、服务器 1)当浏览器首次请求时,服务器生成一个唯一值,称为SessionID,id有几种实现方式?怎么保证唯一?我目前看到的就有3种 然后,服务器创建一个map,键就是SessionID,值自定义,存储一些敏感数据。 服务器再将该SessionID写入浏览器的cookie。

2)服务器内有一进程,监视所有Session的活动状况,如果有Session超时或是主动关闭,服务器就释放该内存块。

3)当浏览器再次请求时,服务器就读浏览器Cookie中的SessionID。然后,服务检查该SessionID所对应的有效值。 如果有效,就读出内存中的值。如果无效,就建立新的Session,回到第一步。

希望大家能够指出我理解中的错误,我想理解思路后自己动手实现一个seesion,作为菜鸟做框架的第一步。

共 2 个回复


zmart_g

支持楼主,我也不是很了解这些,前来学习

# 0

yinqunjun

谢谢 同学习 共成长

# 1