会话跟踪

2007.4.21
我们在现实中遇到的大多数web应用程序都会有这样一个需求,需要一种机制能够唯一标识一个用户,这样服务器就可以区分每一个用户,并记录他的状态,比如购物车等,这时就需要利用这种会话跟踪机制。
用于会话跟踪的技术:
Java Servlet API用Session来跟踪会话和管理会话内的状态,利用Session,服务器可以把用户的所有请求联系在一起,并记录用户的操作状态。当用户第一次连接到服务器时服务器将建立一个session,并分配给用户一个唯一的表示Session ID,以后每次用户提交请求时,都会将词Session ID一起提交。所以服务器可以利用Session ID来区分每一个用户。
在Servlet规范中,支持三种机制用于会话跟踪:
SSL
Cookies:是一种由服务器发送给客户端的片段信息。存储在客户机浏览器的内存中或者硬盘上。
URL重写:当用户禁止Cookies时应采用URL重写来实现会话跟踪。就是在URL中嵌入标识客户的Session ID,Servlet容器解释URL,取出Session ID,根据Session ID来与特定的Session 联系.通过调用HttpServletResponse接口中的encodeURL()方法和encodeRedirectURL()方法来实现.
在javax.servlet.http.HttpSession定义了Session这一概念,利用javax.servlet.http.HttpSession接口中的一些方法就可以实现用户登录等需要唯一表示用户的web程序。当用户禁止cookies时需要用URL重写来实现。当退出后,服务器将无法找到原来的Session,如果用户再次连接,服务器将建立新的session。

如果不使用Session而是用Cookies来实现用户登录,则可以利用Cookies将用户名和密码存储在用户的硬盘上,下次再登录时,浏览器会将先前保存的Cookies一同发送到服务器,服务器的Web应用程序从Cookies里找到用户名和密码进行验证,通过验证后,用户就可以直接访问了,所以,在很多论坛的网站上多采用此方式,当该用户下次访问该论坛时,可以不用登录,直接进入,原因就在一Cookies记录了该用户的用户名和密码,并且存储在硬盘中了。
需要注意的是利用Cookies保存用户登录的用户名和密码是存在着很大的安全隐患的,因为别人也可以从你机器上的Cookies文件中看到这些信息。而且Cookies在网上以明文传输,容易背别人截取或篡改。

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值