cookie 保持会话
Web应用程序的请求与响应基于HTTP,为无状态的通信协议。当用户的一次访问请求结束后,后端服务器就无法识别下一次来访问的是否为上一次的用户。
cookie作为在浏览器存储信息的一种方式,用户通过对cookie的设置和读取,可以保持与后端服务器的交互状态。
session 降低成本
随着cookie个数的增多和访问量的增加,cookie的响应和请求将占用大量的网络带宽,而session的出现正是为了解决这个问题。用户将会话的主体内容存储在服务端的HttpSession中,读取cookie中的JSESSIONID来识别会话。
实际环境中的会话管理
在实际环境中往往同时存在多个会话,不同的会话将对应不同的httpClient、cookie、session。如果在同一会话下发起多条线程,它们将共享同一组httpClient、cookie、session,其中httpClient、cookie存活在用户端,session存活在服务端。