HTTP Session 理解

时间:2020-02-10 18:20:43   收藏:0   阅读:58

HTTP Session

Session表示服务器与客户端的一次会话,它可以是连续的也可以是不连续的,是一种服务器端的机制。

当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识- 称为sessionID,如果已包含一个sessionID则说明以前已经为此客户端创建过session,服务器就按照sessionID把这个session检索出来使用(如果检索不到,可能会新建一个),如果客户端请求不包含sessionID,则为此客户端创建一个sessionID并且生成一个与此session相关联的sessionID。sessionID的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个sessionID将被在本次响应中返回给客户端保存。保存sessionID的方式可以采用cookie,从而在交互过程中浏览器可以自动地按照规则把这个标识发送给服务器。


  1. Session超时:通过session.setMaxInactiveInterval()(单位为s)修改;
  2. 服务器关闭或停止服务;
  3. 程序调用HttpSession.invalidate()使Session失效。
  1. session 在服务器端,cookie 在客户端(浏览器)
  2. session 默认被存在在服务器的一个文件里(不是内存)
  3. session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 session_id)
  4. session 可以放在 文件、数据库、或内存中都可以
  5. 用户验证等场合一般会用session
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!