4种会话跟踪技术

来源:互联网 发布:雷洋事件知乎 编辑:程序博客网 时间:2024/06/06 15:24
会话是客户端发送请求,服务器返回响应的连接时间段。HTTP是无状态协议:每次都是单独连接,不能维持客户的上下文信息。会话跟踪技术是用于维持客户端和服务器端通信信息的技术。 

 1 Cookie

一个Cookie是一个小的,已命名数据元素。服务器使用 SET-Cookie 头标将它作为 HTTP响应的一部分传送到客户端,客户端被请求保存Cookie 值,在对同一服务器的后续请求使用一个Cookie 头标将之返回到服务器。与其它技术比较,Cookie 的一个优点是在浏览器会话结束后,甚至在客户端计算机重启后它仍可以保留其值;

 2 Session

使用 setAttribute(String str,Object obj)方法将对象捆绑到一个会话;

 3 URL重写

可以在后面附加参数,和服务器的请求一起发送,这些参数为名字/值对;

 4 隐藏表单域

<input type="hidden">,非常适合步需要大量数据存储的会话应用;

 

 url重写

在浏览器不支持或禁用cookie的情况下,使用url重写代替cookie来跟踪用户会话。每个页面都必须使用servlet或jsp动态生成(动态页面)。因为附加在URL上的sessionID是动态产生,所以对于静态页面的跳转,URL重写机制无能为力。即使使用动态页面,如果用户离开了会话并且通过书签或链接再次回来,会话信息也会丢失,因为存储下来的链接含有错误的标识信息。 必须将所有发送到客户端的url进行编码,调用HttpServletResponse接口中的encodeURL()方法和encodeRedirectURL()方法来实现。在调用sendRedirect()方法之前使用encodeRedirectURL()方法

 隐藏表单域

只能用于特定操作中。仅当每个页面都由表单提交而动态生成的时候,才可以使用隐藏表单域,用来存储相关会话信息。

http://blog.csdn.net/qfs_v/article/details/2652119

0 0