会话技术

来源:互联网 发布:windows 程序返回值 编辑:程序博客网 时间:2024/06/16 00:17

       对于Servlet的会话技术以前也专门找过资料学习过,但总是感觉似懂非懂,最近梳理了下各种概念,希望能与君共勉之

       一、什么是会话

              会话是指从用户打开浏览器访问一个网站直到关闭浏览器这整个过程称为一次会话

       二、会话技术

              http协议是无状态的,无法将用户每一次请求联系在一起,Servlet使用Session来跟踪用户的会话和管理会话状态,当用户第一次请求服务器时,服务器创建Session并会在响应报头Set-Cookie中发送名为JSESSIONIDcookie来分配客户唯一的会话标识,用户下次提交时将标识一起提交,服务器会根据标识找出特定的Session记录户的状态

       三、跟踪会话的两种方式

              1.浏览器再次请求时会带上第一次请求服务器响应头中发送的名为JSESSIONID的cookie,当浏览器关闭, 会话结束时该cookie也随之销毁,这是由Servlet容器决定的,这种Cookie存储在浏览器内存中称之为内存Cookie,但此时服务器端Session并没有失效,只是因为内存Cookie的销毁无法追踪原先的会话

              2.当客户端浏览器禁用cookie时,可以通过URL重写机制使得再次请求时在第一次请求URL后加上jsessionid

            四、Cookie和Session的不同点

              1.Cookie存储在客户端的而Session存储在服务器端

              2.Session为一个浏览器进程独享而Cookie为多个浏览器进程共享,这里的浏览器进程并不是多个窗口就是多个进程,有的浏览器多个窗口使用的是一个进程,这里的Cookie存储在客户端硬盘中称之为硬盘Cookie

0 0