关于会话跟踪术的小结

1、什么是会话:客户端打开与服务器端的连接,发出请求到服务器,服务器响应客户端请求的全过程

2、什么是会话跟踪:对同一个用户对服务器的连续的请求和接受响应的监视

    1)会话跟踪是一种灵活、轻便的机制,使web上的状态编程变为可能

    2)因浏览器与服务器之间的通信是基于HTTP协议通信的,而HTTP协议是“无状态”协议,不能保存客户的信息,是“一次请求一次响应”就结束断开了,而下一次的请求需要重新连接,这就需要判断是不是同一个用户,所以需要会话跟踪技术来实现这种要求

    3)当服务器响应客户端第一次请求时会创建一个实现HttpSession接口的session对象,和一个唯一的SessionID分配给该请求,以后客户将此SessionID与请求一起传给服务器,此SessionID在后续的请求中会将用户 与session对象进行匹配,用于识别不同的客户

3、常用会话跟踪的方法

    1)URL重写::URL是web上特定页面的地址,URL重写的技术就是在URL结尾添加一个附加数据以标识该会话 ,把SessionID通过URL的信息传递过去,以便在服务器端进行识别不同的用户

    2)隐藏表单域:将SessionID添加到HTML表彰元素中提交到服务器,此表单元素并不在客户端显示

    3)Cookie:Cookie是Web服务器发送给客户端的一小段信息,客户端请求时可以读取该信息发送到服务器端,进而进行用户的识别。对于客户端的每次请求,服务器都会将Cookie发送到客户端,在客户端可以进行保存,以便下次使用。 
客户端可以采用两种方式来保存这个Cookie对象,一种方式是 保存在 客户端内存中,称为临时Cookie,浏览器关闭后 这个Cookie对象将消失。另外一种方式是保存在 客户机的磁盘上,称为永久Cookie。以后客户端只要访问该网站,就会将这个Cookie再次发送到服务器上,前提是 这个Cookie在有效期内。 这样就实现了对客户的跟踪。 
Cookie是可以被禁止的。 

    4)Session:每一个用户都有一个不同的session,各个用户之间是不能共享的,是每个用户所独享的,在session中可以存放信息。 
在服务器端会创建一个session对象,产生一个sessionID来标识这个session对象,然后将这个sessionID放入到Cookie中发送到客户端,下一次访问时,sessionID会发送到服务器,在服务器端进行识别不同的用户 

Session是依赖Cookie的,如果Cookie被禁用,那么session也将失效

扫描二维码关注公众号,回复: 760229 查看本文章

4、区别:

   URL重写:可以在URL后面附加参数,和服务器的请求一起发送,参数为K\V对

   隐藏表单域:非常适合需要大量数据存储的会话应用

    Session:使用setAttribute方法将对象绑定到会话中

    Cookie:优点是在浏览器会话结束后,甚至在客户端计算机重启后仍可以保留值

猜你喜欢

转载自blog.csdn.net/sunyzyx/article/details/80196669
今日推荐