1.什么是会话?
1.会话英语单词为:session
2.用户打开浏览器,进行一系列操作,最终将浏览器关闭,这个整个过程叫做一次会话。会话在服 务器端有一个对应的java对象,叫做HttpSession。
2.对session的认识
1.session机制属于B/S结构的一部分,session机制实际上是一种规范,不同的语言对这种会话机 制都有实现。
2.session对象最主要的作用是:保存会话状态。
3.为什么需要session对象来保存会话状态呢?
因为HTTP协议是一种无状态协议。
什么是无状态?
请求的时候,B和S是连接的,但是请求结束之后,连接就断了。这样的无状态协 议,可以降低服务器的压力。
4.session对象是存储在服务器端的。
5.一个session对象对应一个会话。
6.一次会话中包含多次请求。
3.session的实现原理
1.在web服务器中有一个session列表,类似于map集合,这个map集合的key存储的是session的 id,这个map集合的value存储的是对应的session对象。
2.用户发送第一次请求的时候,服务器会创建一个新的session对象,同时给session对象生成一个 唯一的id,然后web服务器会将session的id发送给浏览器,浏览器将session的id保存在浏览器 的缓存中。
3.用户发送第二次请求的时候,会自动将浏览器缓存中的session的id自动发送给服务器,服务器 获取到session的id,然后从session列表中查找到对应的session对象。