因为web服务器在请求之间不会记住客户端,因此保持一个会话的唯一方式是客户端跟踪会话,实现此功能有两种基本方式:1、客户端记住所有会话的相关数据并在必要时将之发回到服务器。2、服务器保持所有数据,对其设置一个标识,让客户端记住该标识。
第一种方案实现比较简单,不需要服务器部分加入特殊功能。此方案需要来回传送大量的数据,可能会降低性能。另一问题是服务器端对象,如数据库和网络连接对每一请求必须被重新初始化。为此,此方案最合适于小批量数据的长期持久性发送。如用户优先权和帐号。第二种方案功能更多,一旦服务器初始化了一个会话且客户端接受了它,服务器就可以构建复杂的,有效的对象并保存大量的数据,但只需一个关键字就可以区分会话。