cookie和session的对比

Cookie与Session的对比

1.存在的位置 
Cookie保存在客户端,Session保存在服务器端,服务器可以为每个用户浏览器创建一个会话对象(Session对象),注意:一个浏览器独占一个Session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的Session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的Session中取出该用户的数据,为用户服务。但是要注意Session数据不宜过多

2.安全性

  • Cookie是以明文的方式存放在客户端,安全性相对较弱,可以使用加密算法加密
  • Session是存放在服务器的内存中的,所以安全性好

3.网络传输量 
Cookie通过网络在客户端与服务器端传输。而Session保存在服务器端,不需要传输。

4.生命周期(20分钟为例)

  • Cookie的生命周期是累计的,从创建时,就开始计时,20分钟后Cookie的生命周期结束,Cookie就失效
  • Session的生命周期是间隔的,从创建时开始计时,如在20分钟内没有访问过该Session,那么Session将被清除。如果在20分钟内,比如在第19分钟时,访问过该Session,它的生命期将重新开始计算下一个20分钟。
  • 另外,关机、关闭Tomcat或者reload应用会造成Session的生命周期结束,但是对Cookie没有影响

5.访问范围

  • Session为一个用户浏览器独享
  • Cookie为多个用户浏览器共享

其实Session和Cookie是有着千丝万缕的联系的,Session本身也要使用Cookie才能实现。 
最后一个使用原则:因为Session会占用服务器的内存,因此不能过多地使用Session,不要向Session中放过多、过大的对象。

猜你喜欢

转载自blog.csdn.net/qq_33366098/article/details/80296803