• Session和Cookie


    说到Session和Cookie,可能每个人都会在这遇到过坎,傻傻分不清~

    我们先来说一下什么是浏览器,什么是服务器:

                 浏览器是客户端,服务器是服务端,浏览器要浏览页面的话需要发送请求到服务器,

    服务器响应后,浏览器方可浏览,浏览器地址里一般使用绝对路径,服务器一般使用相对路径

    Session什么时候失效?

    当进行了关闭浏览器的操作,再次打开时会发现没有session数据了,这时代表着session使用结束了,但不意味着session被销毁了,
    因为session创建和销毁时在服务器端进行的,当浏览器访问服务器就会创建一个JSESSIONID,浏览器通过这个ID来访问服务器中所存储的session,
    当浏览器关闭后,再次打开浏览器访问服务器,浏览器已经"失忆"了,没有了之前的JSESSIONID ,所以就找不到服务器端他原来的session。

        1. 服务器会把长时间没有活动的Session从服务器内存中清除,此时Session便失效。Tomcat中Session的默认失效时间为20分钟。

    可以通过这个来设置时间:session.setMaxInactiveInterval(10);  单位是S。
    可以在配置文件中设置:<sessionState timeout="30"></sessionState>

      2. 调用Session的invalidate方法。

    什么是Cookie:

    Cookie:数据存储在客户端本地,减少服务器端的存储的压力,安全性不好,客户端可以清除cookieSession:将数据存储到服务器端,安全性相对好,增加服务器的压力。

    Session的实现是基于Cookie,Session需要借助于Cookie存储客户的唯一性标识JSESSIONID,JSESSIONID被清了之后(cookie被删),即使session还存在,但是因为cookie存储的JSESSIONID不在了,也找不到这个Session了

    cookie和session的区别:

    1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

    2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
    考虑到安全应当使用session。

    3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
    考虑到减轻服务器性能方面,应当使用COOKIE。

    4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

    5、所以个人建议:
    将登陆信息等重要信息存放为SESSION
    其他信息如果需要保留,可以放在COOKIE中

  • 相关阅读:
    AtCoder Beginner Contest 167
    AtCoder Beginner Contest 166
    AtCoder Beginner Contest 165
    AtCoder Beginner Contest 164
    AtCoder Beginner Contest 163
    AtCoder Beginner Contest 162
    AtCoder Beginner Contest 161
    AtCoder Beginner Contest 160
    AtCoder Beginner Contest 159
    自定义Mybatis自动生成代码规则
  • 原文地址:https://www.cnblogs.com/buwang/p/9962098.html
Copyright © 2020-2023  润新知