用于会话跟踪的技术
1、SSL会话(Secure Socket Layer,安全套接字层)是一种运行在TCP/IP之上和像HTTP这种应用层协议之下的加密技术。
2、Cookies是一种由服务器发送给客户的片段信息,存储在客户端浏览器的内存中或硬盘上,在客户随后对该服务器的请求中发回它。
Cookie以键值对的方式记录会话跟踪的内容,服务器利用响应报头Set-Cookie来发送Cookie消息。
例如:
Set-Cookie: uid=zhangsan; Max-Age=3600; Domain=.sunxin.org; Path=/bbs; Version=1
上面这个响应报头发送一个名为uid,值为zhangsan的cookie,Cookie的生存时间为3600秒,在sunxin.org域下的/bbs路径下有效。
3、URL重写
当客户端不接受Cookie的时候,可以使用URL重写的机制来跟踪用户的会话。URL重写就是在URL中附加标识客户的Session ID,Servlet容器解释URL,取出Session ID,根据Session ID将请求与特定的Session关联。
Java Servlet API的会话跟踪
当请求一个会话的时候,Servlet容器就创建了一个HttpSession对象,有了这个对象后,就可以利用这个对象保存客户的状态信息,如,购物车。Servlet容器为HttpSession对象分配一个惟一的Session ID,将其作为Cookie发送给浏览器,浏览器在内存中保持这个Cookie。当客户再次发送HTTP请求时,浏览器将Cookie随请求一起发送,Servlet容器从请求对象中读取Session ID,然后根据Session ID找到对应的HttpSession对象,从而得到客户的状态信息。