Session是工作在服务器端。
首先我们要知道HTTP是一种无状态的协议,即同一个客户端的本次请求和上次请求没有任何关系,HTTP服务器并不知道这两个请求来自同一个客户端,这样设计的优点在于减轻服务器压力,提高速度。
由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来标识与识别具体的用户,这个机制就是Session.
什么是Session
Cookie 在 Web 应用中经常承担标识请求方身份的功能,所以 Web 应用在 Cookie 的基础上封装了 Session 的概念,专门用做用户身份识别。
Session一般被称为“会话控制”。比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个Session。具体到Web应用中的Session会话指的就是用户在浏览某个网站时,从用户进入网站到关闭网站所经过的这个过程称之为一次会话。
Session 代表着服务器和客户端一次会话的过程。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当客户端关闭会话,或者 Session 超时失效时会话结束。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。
标识与识别用户身份工作流程