http是一种基于 连接-请求-应答-结束 的无状态的通信协议,但是在实际的应用中,用户的连续几次请求之间会存在着一些联系或者需要共享某些信息,那么这事,Httpsession就显得尤为重要和实用,那么httpsession是如何工作的呢,其过程大概如下:
当用于第一次与服务器建立连接会话的时候,服务器会根据用户请求建立一个httpsession对象,同时会伴随这个对象产生一个sessionId作为这个httpsession的标识符,服务器会将这个标识符传回客户端,之后这个标识符会通过不同的方式存储在客户端,现在大都采用cookie的方式再客户端存储sessionId。客户端之后在请求服务器的时候,在发送请求的时候都会带着这个sessionId,然后根据这个sessionId区访问位于服务器上的相对应的session,就实现了类似“有状态”的效果。那么说到这里,就再说一下session的销毁,服务器的servlet容器在创建一个httpsession对象的时候,都会有一个session的过期时间,所以一个session对象的销毁有两种原因,一是session存在的时间超过了它的应过期时间,而是用户手动的销毁。
以上仅为大致描述,但很容易理解。