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中配置<Manager pathname="" /> 即可。

  5. Session对象的有效期设置

    • Web容器级别.
         conf/web.xml
    
        <!-- 这里是以分钟为单位的,默认是30分 -->
        <session-config>  
            <session-timeout>30</session-timeout>  
        </session-config>
    
    • webapp级别
    在webapp中的 WEB-INF/web.xml
    
        <!-- 以分钟为单位 -->
        <session-config>  
            <session-timeout>30</session-timeout>  
        </session-config> 
    
    
    • 硬编码在应用程序代码中
    session.setMaxInactiveInterval(30*60);//以秒为单位
    

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

参考资料

  • 《深入分析Java Web技术内幕 修订版》
  • Tomcat设置session超时的几种方式 link
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,416评论 11 349
  • 此文知识来自于:《深入分析Java_Web技术》第十章现代session与cookie的应用 本章概要:当我们的一...
    李文文丶阅读 1,395评论 0 4
  • cookie cookie的起源 早期web刚开始出现复杂的应用程序时,产生了对于能够直接在客户端上存储用户信息能...
    zenggo阅读 3,916评论 1 52
  • cookie 和session 的区别: 1、cookie数据存放在客户的浏览器上,session数据放在服务器上...
    宇文臭臭阅读 3,171评论 0 9
  • 为什么要二胎?是因为有钱?是因为有了一个儿子非得再要个女儿?以前我认为是后者!可最近儿子的一些举动让我否定了这个想...
    张乐童阅读 347评论 3 0