深入浅出,高潮迭起,一看就是老司机
【 在 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搞这个都表示搞这个很费劲。
: ...................
--
FROM 218.197.87.*