区别
1.cookie以文本文件的格式存储在浏览器中,而session存储在服务器;
2.cookie的存储限制了数据量,只允许4KB,而session是无限量的;
3.cookie可以很容易的被访问,容易被他人窃取,不安全,而session却很难被访问到,比较安全;
4.session在一定时间内存放在服务器上,这样随着访问量的增加,就比较占用服务器的资源,降低了服务器的性能,而cookie并不会对服务器产生影响;
5.设置cookie时间可以使cookie过期,但是使用session-destory()会销毁会话。
总结:
当我们需要经常登录一个站点时,最好用cookie来保存信息,如果对于安全性要求较高以及控制数据能力较强的站点,最好用session,不过现在基本上cookie和session都是成对出现的,把它俩结合起来使用效果更佳。
结合使用
server-side-session
通过cookie存储一个session_id,然后具体的数据则是保存在session中。如果用户已经登录,则服务器会在cookie中保存一个session_id,下次再次请求的时候,会把该session_id携带上来,服务器根据session_id在session库中获取用户的session数据。就能知道该用户到底是谁,以及之前保存的一些状态信息。
client-side-session
将session数据加密,然后存储在cookie中