会话跟踪的几种方式:
Session、Cookie、表单隐藏域、URL重写(在URL结尾添加一些附加数据)
session,译为“时域”。
在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。
具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到关闭浏览器所经过的这段时间,也就是用户浏览这个网站所花费的时间。
在网络应用中,称为”==会话控制==“。
为何需要Session:
由于Http协议是无状态协议,用户访问服务器时该协议不会记录用户信息,因而服务器无法通过此协议区分用户,而Seesion可以完成对用户的跟踪,将同一会话的一系列请求和响应过程关联起来。
Session对象存储特定用户会话所需的属性及配置信息。
当用户在应用程序的web页之间跳转时,存储在session对象中的变量不会丢失,而是在整个用户会话中一直保存下去。当用户请求来自应用程序的web页时,若用户还没有会话,服务器会自动创建一个Session对象(Session存在于服务器中)。当会话过期或者结束时,服务器将会自动终结该会
话。
针对每一个用户,服务器都会开辟一个空间,存储用户会话状态,在一定时间内,即使客户端删除cookie或者跳转也不会造成服务器丢失Session。
Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。
Session如何标志用户:
服务器创建一个回话并且将该对象的id返回给用户,客户第二次请求服务器时会连同id也发送给服务器。
Session的关闭:
服务器一般采用超时定时器的方法来判断是否关闭Session以及回收分配给用户 服务器空间。
==注意 会话状态仅在支持 cookie 的浏览器中保留==。