Web开发中会话跟踪方式的整理

1、什么是会话?

会话指的是一个终端用户(服务器)与交互系统(客户端)进行通讯的过程。

2、什么是会话跟踪?

对同一个用户对服务器的连续请求和接收响应的监视。(将用户与同一用户发出的不同请求之间关联,为了数据共享)。

3、为什么要有会话跟踪?

Web服务器是基于HTTP协议的。HTTP协议是无状态协议。Http的Web服务器不能保持与客户端的关联。它不能保存客户的信息,即一次响应完成之后连接就断开了,下一次请求需要重新连接,这样就需要判断是否为同一个用户,所以才会有会话跟踪这种技术。

4、会话跟踪的方式

1、SSL会话{Secure Socket Laayer}

安全套接字层,是一种运行在TCP/IP之上和像HTTP这种应用层协议之下的加密技术。SSL是在HTTPS协议中使用的加密技术。SSL可以让采用SSL的服务器认证采用SSL的客户端,并且在客户端和服务器之间保持一种加密了连接,在建立了加密连接的过程中,客户端和服务器都可以产生一种名为“会话密钥”的东西,它是一种用于加密和解密的对称密钥。基于HTTPS协议的服务器可以使用这个客户端的对称密钥来建立会话.

2、使用隐藏域进行会话跟踪

是一种最简单的方式,将字段隐藏在HTML表单中,但不在客户端显示。比如在第一张页面中输入用户名和密码登陆,服务器生成响应返回第二张页面。当第二张页面提交时可能仍然需要知道来自第一张页面中的用户名。
那么就可以通过隐藏表单域来实现这一连续的过程。当第一张页面提交后,服务器端作出响应返回第二张页面,此页面中用隐藏域记录了来自登陆时的用户名。通俗说就是当服务器回发给客户端的响应中,就同时把用户名再次回发到客户端,用隐藏域隐藏起来,是不可见的。当第二张页面提交时,此隐藏域中的用户名一并随表单提交。这样服务器就仍然可以判断此用户是否与以前的用户相同。于是,再次处理完结果后继续将响应回发给客户端,且此响应中也仍然包含了用户名,在客户端中仍然用隐藏域将这一信息隐藏。这样就完成了一个连续请求的动作,但是对于用户,这是不可见的。

3、Cookies(目前最常用、也是最有效的解决方案)

中文译为小甜饼,由Netscape公司发明,是最常用的跟踪用户会话的方式。Cookies是一种由服务器发送给客户端的片段信息,存储在客户端的内存或者硬盘上,在客户随后对该服务器的请求中发回它。其实主要就是把服务器为客户端分配的session ID保存在Cookies中,每次发送请求时把Cookies附加到请求对象中一起发过去,服务器得到这个唯一的session
ID,从而可以唯一的标识一个客户端

4、URL重写

如果客户端禁用了Cookies,那么就只能用URL重写机制了。就是在URL中附加标识客户端的session
ID,web容器解析URL,取出session ID,根据这个session ID将请求与特定的session关联起来。
注意如果采用了URL重写,那么代码里面的所有url都要经过编码,response.sendRedirect(url)中的urlresponse.encodeRedirectURL(url)编码,其他的用response.encodeURL(url)来编码

5、IP地址

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值