什么是会话跟踪技术?
会话跟踪技术是一种在客户端与服务器间保持HTTP状态的解决方案们。从开发的角度说,就是使上一次请求所传递的数据能够维持状态到下一次请求,并且辩认出是相同的客户端所发送出来的。会话跟踪技术的解决方案主要有Cookie技术,Session技术,URl重写技术和隐藏表单域技术。
会话cookie技术和持久cookie的区别

  • 会话cookie-->如果 cookie 不包含到期日期,则可视为会话 cookie。 会话 cookie 存储在内存中,决不会写入磁盘。 当浏览器关闭时,cookie 将从此永久丢失。
  • 持久cookie-->如果 cookie 包含到期日期,则可视为持久性 cookie。 在指定的到期日期,cookie 将从磁盘中删除。

Cookie和Session技术的区别

1.Session依赖于Cookie

2.Session问题:
    * 由服务器创建,存储在服务器
    * 当浏览器关闭时,服务器不关闭,再次打开浏览器时,
    默认获得的不是同一个session对象,想要获取同一个session,如下操作:
    创建Cookied对象,键为JSESSIONID,值为session.getId(),同时setMaxAge()时间。
        Cookie c=new Cookie("JSESSIONID",session.getId());
            c.setMaxAge(60*60);
        response.addCookie(c);
    * 客户端不关闭,服务器关闭,再次打开服务器是,获得不是同一个session对象,
       但是数据不会丢失,这是由于tomcat的完成session钝化,活化功能.
    * session的钝化:
        * 在服务器正常关闭之前,将session对象系列化到硬盘上
    * session的活化:
        * 在服务器启动后,将session文件转化为内存中的session对象即可
        
3. session什么时候被销毁?
        1. 服务器被关闭时//对象销毁
        2. session对象调用invalidate()//数据和对象都销毁
        3. session默认30分钟自动销毁//数据和对象都销毁

4. Cookie问题
    * 由服务器创建,存储在客户端
    * 默认情况浏览器关闭Cookie销毁
    * 但是可以通过cookie.setMaxAge(int seconds),设置Cookie存活时间
    * 多个Web项目的cookie不能共享
    
5. cookie技术和session技术的区别(都是由服务器创建)
    1. session存储在服务器端,Cookie在客户端
    2. session没有数据大小限制,cookie有
 3. Session数据安全,Cookie相对于不太安全
会话对象的生命周期

  • HttpSession对象会在用户第一次访问服务器时由容器创建没在用户调用其失效方法或超过最大不活动时间时失效。在此期间,用户与服务器之间的任意多次请求都属于一次会话生命周期

什么时候使用URL重写技术

  • 当不能确定客户端浏览器是否支持Cookie的情况下,使用URL重写技术可以对请求的URL地址追加会话标识,从而实现用户的会话跟踪功能。