Session的概念

2013-09-30
  • 779
  • 0

Tcp/Ip协议中Session是一个重要概念,一般情况下session是在用户第一次访问服务器时创建的,但需要注意的情况是客户端在访问JSP、Servlet时才会创建Session,而访问HTML、IMAGE这些静态资源时是不会创建Session的。

虽 然Session保存在服务器但它的运行仍然需要客户端浏览器的支持。这是因为Session使用Cookie作为它的识别标志。 之所以这样做的原因是因为HTTP协议本身不区分是什么状态,也就意味着Session不可能通过判断HTTP连接来分辨访问的是不是同一个客户端。那么怎样来解决这个问题呢?方法就是服务器会向客户端浏览器发送一个Cookie,而这个Cookie其实是存储在客户端的硬盘中。这个Cookie的名字叫做SessionId。顾名思义,它的值就是这个Session的Id(其实就是HttpSession.getId()这个方法的返回值)。Session就是通过这个具备唯一性的Cookie来识别访问服务器的客户端是否为同一个用户。