JAVAWEB——(servlet-6)

会话跟踪

1.为什么需要会话跟踪?

      使用浏览器发送的http请求http请求使用的是http协议,而http协议是一种无状态的协议,它不会去主动记录使用这个http协议的用户是谁,一旦请求发送成功,服务器做出响应以后,那么此时浏览器与服务器之间的链接就会消失,这时服务器就不知道请求来自哪里,是谁发送来的。所以这时我们就需要记录/保存请求/链接的状态,实现这个记录记录/保存请求/链接的状态的过程就叫会话跟踪

2.什么是会话跟踪?

   服务器处理程序实现记录/保存请求/链接的状态的过程就叫会话跟踪

3.四种会话跟踪技术有那些,它们各自的优缺点?

    1.URL重写:将该用户Session的id信息重写到URL地址中,以便在服务器端进行识别不同的用户。

                        https://blog.csdn.net/weixin_52192654?spm=1011.2124.3001.5343

                       URL重写能够在客户端停用cookies或者不支持cookies的时候仍然能够发挥作用

     2.隐藏表单域:将用户Session的id信息添加到HTML表单元素<input type="hidden" name="" value=""/>中提交到服务器,此表单元素并不在客户端显示,浏览时看不到,源代码中有。

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

      4.Session:每一个用户都有一个不同的session,各个用户之间是不能共享的,是每个用户所独享的,在session中可以存放信息。保存在服务器端。需要解决多台服务器间共享问题。如果Session内容过于复杂,当大量客户访问服务器时可能会导致内存溢出。因此,Session里的信息应该尽量精简。

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

     当用户第一次发送http请求到服务器,服务器端会创建一个session对象,产生一个sessionID来标识这个session对象,然后将这个sessionID放入到Cookie中发送到客户端,下一次发送http请求到服务器时,http请求会连同第一次得到的sessionID会发送到服务器,在服务器端进行识别不同的用户。

 

  上面的会话跟踪的过程与我们去超市的时候,在超市门口的储物柜中保存物品的过程相似。

4.Session和Cookie区别?

Cookie

Session

数据服务器创建保存于浏览器端

数据放在服务器上

cookie不是很安全

Session很安全

减轻服务器性能应当使用cookie。

不考虑减轻服务器性能。可以使用Session

单个cookie保存的数据不能超过4K

没有限制

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值