经过前几天的复习cookie和session会话技术。今天来总结一下cookie和session的区别在哪里。
首先可以参考cookie博客:http://blog.csdn.net/nihaowoshiyudong/article/details/53535183
session服务器端会话技术博客:http://blog.csdn.net/nihaowoshiyudong/article/details/53556619
其实cookie和session的区别主要有五个方面:
①存储的位置不一样。
cookie是存储在浏览器端的。而session是存储在服务器的内存中的。
②安全性不一样
cookie是以明文的方式存储在浏览器端的,所以安全性相对来说很低。
而session是存储在服务器内存中,不是用户能看到的,所以安全性相对来说要高一点。
③网络传输
cookie是需要消耗很多网络资源的,因为没访问一个web应用,浏览器就会在http请求中带上该web应用下的cookie。
而session是在服务器端的,不需要消耗很多的网络资源,只需要在告诉浏览器其JSESSIONID时需要消耗一点网络资
源。在其他情况下都是在服务器端完成的,所以不需要消耗网络资源。
④生命周期不一样
cookie的生命周是累计时间的,比如设置setMaxAge(30),则表示过了30s该cookie就会失效。
而session是间隔休眠时间通过设置setMaxInactiveInterval(30)表示在30s内不访问session,则session会失效。
但是如果在29s时又访问了session,那么其间隔时间又变成30s。同时使session失效的的方式还有如下几种:
(1)服务器被关闭。
(2)reloadweb应用
(3)间隔时间到了
(4)通过调用invalidate()方法来使得session域对象中的属性失效。
⑤使用原则不同
cookie存储在浏览器端,所以不会影响服务器端的运行效率。
而session存储在服务器端的内存中所以会影响服务器的运行效率。一般情况下如果没有必要用session进行存储信息,就避免使用session来存储信息,会造成服务器端运行效率低。