cookie 与 session

概念

Cookie

  1. Cookie的作用?

    Cookie可以让服务器程序跟踪每个客户端的访问。

  2. “Set-Cookie” 响应头,各种字段
  3. Tomcat 如何创建 Set-Cookie 响应头?
  4. 使用Cookie的限制

    浏览器对Cookie的存储都有一些限制,每个域名下的数量限制和总大小限制。

Session

  1. Session的作用?

    Cookie可以让服务器程序跟踪每个客户端的访问,但每次客户端的访问都需要传回这些Cookie,如果Cookie很多,则增加了客户端与服务端的数据传输量,而Session的出现正是为了解决这个问题。每一次交互时,只要传回一个ID,这个ID是客户端第一次访问服务器时生成的,而且每个客户端是唯一的,在Servlet容器里,这个ID通常是Name为JSESSIONID的一个Cookie。

  2. Session基于三种方式工作

    URL Path Parameter
    Cookie
    SSL

  3. Session的第一次创建是通过触发 request.getSession() 方法。

  4. Tomcat中的Session 持久化

    当Servlet容器关闭时,StandardManager类会调用unload方法将sessions集合中的StandardSession对象写到“SESSIONS.ser” 文件中。注意关闭容器时必须调用Servlet容器的stop和start命令,而不能直接kill进程。
    如果不希望使用这个特性,在conf/context.xml中配置 即可。

  5. Session对象的有效期设置

    • Web容器级别.
         conf/web.xml
    
        
          
            30  
        
    
    • webapp级别
    在webapp中的 WEB-INF/web.xml
    
        
          
            30  
         
    
    
    • 硬编码在应用程序代码中
    session.setMaxInactiveInterval(30*60);//以秒为单位
    

    以上设置为-1即session不过期。

参考资料

  • 《深入分析Java Web技术内幕 修订版》
  • Tomcat设置session超时的几种方式 link

你可能感兴趣的:(cookie 与 session)