由于http是无状态的,也就是不能做到会话保持,那么就需要引入cookie和session来做会话保持,存储用户信息。
cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段。IE浏览器把Cookie信息保存在类似于C://windows//cookies的目录下。
当用户再次访问某个站点时,服务端将要求浏览器查找并返回先前发送的Cookie信息,来识别这个用户。
cookies给网站和用户带来的好处非常多:
1、Cookie能使站点跟踪特定访问者的访问次数、最后访问时间和访问者进入站点的路径
2、Cookie能告诉在线广告商广告被点击的次数,从而可以更精确的投放广告
3、Cookie有效期限未到时,Cookie能使用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点
4、Cookie能帮助站点统计用户个人资料以实现各种各样的个性化服务
区别:
1.存储位置
cookie存储在浏览器临时文件夹中,以明文方式存储,可以隐私信息加密存储,为多个用户共享
seesion存储在服务器内存中,一个session域对象,为一个用户浏览器服务
2.安全性
cookie是以明文方式存储,存放在客户端中,安全性弱,可以通过加密再存放
session是存放在服务端内从中,安全性较好
3.网络传输量
cookie会传递信息给服务器
session的属性值不会给客户端
4.生命周期
cookie.setMaxAge(0);//不记录cookie
cookie.setMaxAge(-1);//会话级cookie,关闭浏览器失效
cookie.setMaxAge(60*60);//过期时间为1小时
session设置的话:
第一种:在项目的web.xml中设置
<session-config>
<session-timeout>15</session-timeout>
</session-config>
这里的15也就是15分钟失效。
第二种:可以在tomcat目录下conf/web.xml中
找到<session-config>元素,tomcat默认设置是30分钟,
假如tomcat关闭,reload web应用,调用invalide方法 此时session也会失效。
5.使用原则
因为session会占用服务器的内存,不要想session中存放过多、过大的对象,会影响内存。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)