session和cookie的异同
Cookie是服务器发给客户端的一小段文本,保存在浏览器所在客户端的内存和磁盘上。服务器可以从客户端读出这些cookie。通过cookie,客户端可以和服务器端建立起一种联系,也就是说,Cookie是一种可以让服务器对客户端信息进行保存和获取的机制,从而大大扩展了基于Web的应用功能。
Session:在计算机中,尤其是在网络应用中,称为会话控制。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。
区别如下
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie并不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5、可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。
6、session会在浏览器关闭或者一段时间内销毁而cookie将持久化的存放在客户端