什么是会话跟踪
客户端打开与服务器的连接发出请求到服务器响应客户端请求的全过程称之为会话。一个用户的所有请求操作都应该属于同一个会话。
会话跟踪是对同一个用户向服务器发送请求以及服务器对其进行响应的过程的监视
为什么要使用会话跟踪
1、Web应用是使用HTTP协议的.
2、HTTP 是一种"无状态"协议,这意味着每次客户端检索网页时,客户端打开一个单独的连接到 Web 服务器,服务器会自动不保留之前客户端请求的任何记录
为了判断是哪个客户端连接的服务器;要使用会话跟踪
会话跟踪的方式
有三种方式来维持 Web 客户端和 Web 服务器之间的 session 会话
Cookies
一个 Web 服务器可以分配一个唯一的 session 会话 ID 作为每个 Web 客户端的 cookie,对于客户端的后续请求可以使用接收到的 cookie 来识别。Cookie携带了客户端的个性化信息,在服务器端创建,通过response对象响应给客户端,并保存在客户端的电脑上(浏览器缓存中)。
Cookies的缺点:不安全;容易造成隐私的泄露
URL 重写
在每个 URL 末尾追加一些额外的数据来标识 session 会话,服务器会把该 session 会话标识符与已存储的有关 session 会话的数据相关联。
每次自动创建Session时都会生成一个SessionId,URL重写就是在客户端发起请求时将sessionId重新写入URL地址中从而实现对客户端的跟踪
例如,http://w3cschool.cc/file.htm;sessionid=12345,session 会话标识符被附加为 sessionid=12345,标识符可被 Web 服务器访问以识别客户端。
URL重写的缺点:会动态生成每个 URL 来为页面分配一个 session 会话 ID,即使是在很简单的静态 HTML 页面中也会如此。
HttpSession 对象
HttpSession是一个 接口;此接口提供了一种跨多个页面请求或访问网站时识别用户以及存储有关用户信息的方式。