服务端是通过什么方式来保存状态的呢? 在基于tomcat这类的jsp/servlet容器中,会提供session这样的机制来保存服务端的对象状态,服务器使用一种类似于散列表的结构来保存信息,当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求是否包含了一个session标识- session id;
如果已包含一个session id 则说明以前已经为客户端创建过session,服务器就按照session id 把这个session检索出来使用(如果检索不到,会新建一个);
如果客户端请求不包含sessionid,则为此客户端创建一个session并且生成一个与此session相关联的session id, session id的值是一个既不会重复,又不容易被找到规律的仿造字符串,这个session id 将会返回给客户端保存