会话管理不限于Java和servlet.大致如下:
> HTTP协议是无状态的,因此服务器和浏览器应该有一种通过多个请求存储用户身份的方法
>浏览器将第一个请求发送到服务器
>服务器检查浏览器是否已经识别了会话cookie(见下文)
3.1.如果服务器不知道客户端:
>服务器创建一个新的唯一标识符,并将其放在一个Map(粗略地)作为一个键,其值是新创建的会话.它还发送包含唯一标识符的cookie响应.
>浏览器存储会话cookie(具有生命周期=浏览器实例的生命周期),包含唯一标识符,并将其用于每个后续请求以唯一标识自身.
3.2.如果服务器已经知道客户端 – 服务器获取对应于在会话cookie中发现的传递的唯一标识符的会话
现在你有一些问题:
>会话超时是每个会话映射条目的生存时间,而不被访问.换句话说,如果客户端没有发送30分钟的请求(从示例中),会话映射将删除此条目,即使客户端使用会话cookie中的唯一密钥标识自身,也不会显示任何数据在服务器上
>不同的浏览器可以打开不同的gmails(和任何网站),因为会话cookie是每个浏览器.即每个浏览器通过不发送唯一会话ID或通过发送服务器为其生成的唯一ID来唯一标识自身.
>从不同的PC记录是一样的 – 你不共享会话ID
>注销实际上是删除服务器上的会话ID的条目.
注意:唯一会话标识可以替代地存储: