高手,有open source project吗,也想跟着学习学习
【 在 dhcn 的大作中提到: 】
: 你对Web容器常规session的描述不太精确。首先浏览器cookie存的那个session标识一般是sessionid(一般web容器好像会在前面加prefix,不然JSESSIONID,PHPSESSIONID,这样并不好。),正常情况下它不需要对称加密(实际上它和对称加密的那个也不是一个东西),只要保证当前唯一性就OK,服务器端的session存储是一个key-value结构,客户cookie存的那个sessionid它标明了客户端浏览器的唯一性,也是服务器端这个session key-value存储结构的key。这个session value又是个容器,你可以往里面再天添加key-value结构存储,比如seesion.set("userid",1)这样的语句就在服务器端标明了当前登录用户是1号用户。
: 服务器端的这个Session存储有内存式,比如Java容器里面的非简单对象,有文件式,我记得PHP可以设置成这样,有RDB数据库式,django默认就是这样,有Redis缓存式,Django可以很轻松切换成这种方式,Tomcat也可以切换成这种,顺便解决了跨实例的Session共享问题,不过好多Javaer搞这个都表示搞这个很费劲。
: 至于你说的客户端对称加密session cookie,这只是前几年单机内存紧张时,某些大站变相存储跨服务的session cache信息的办法,这几年有了redis,好像用的很少了,要不就转成明文+签名的方式了。
: ...................
--
FROM 103.217.167.*