1、Cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、Cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗。考虑到安全应当使用session。
3、Session会在一定时间内保存在服务器上。当访问增多,会比较占用你的服务器的性能。考虑到减轻服务器性能方面,应当使用cookie。
4、单个cookie保存的数据不能超过4k,很多浏览器都限制一个站点最多保存20个cookie。
5、个人建议:
a) 将登陆信息等重要信息存放在session中
b) 其他信息如果需要保留,可以放在cookie中
注意:1、cookie是一种发送到客户浏览器的文本串句柄,并保存在客户机营盘上,可以用来在某个web站点会话间持久的保存数据。
2、session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。Session其实是利用cookie进行信息处理的,当用户首先进行了请求后,服务器就在用户浏览器上创建一个cookie,当这个session结束时,其实意味着这个cookie就过期了。
3、若不设置cookie的过期时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就消失。这种生命期为浏览器会话期的cookie被称为会话cookie。会话cookie一般不存储在硬盘上而是保存在内存里。
4、若设置cookie过期时间,浏览器会把cookie保存在硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设置的过期时间。
Session的使用方法详解:
(1)Session是什么?
简单来说,session就是服务器给客户端的一个编号;
(2)举例解释
当一台www服务器运行时,可能有若干个用户浏览器正运行在这台服务器上的网站。当每个用户首次与这台www服务器建立连接时,他就与这个服务器建立了一个session,同时服务器会自动为其分配一个sessionID,用以标识这个用户的唯一身份。这个sessionID是由www服务器随机产生的一个由24个字符组成的字符串。
注意:
(1)这个唯一的sessionID是有很大的实际意义的。当一个用户提交了表单时,浏览器会将用户的sessionID自动附加在HTTP头信息中,(这是浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给sessionID所对应的用户。试想,如果没有sessionID,当两个用户同时进行注册时,服务器怎样才能知道是哪个用户提交了哪个表单。
(2)除了sessionID,在每个session中还包括很多其他信息。但是对于编写ASP或ASP.NET的程序来说,最有用的还是可以通过访问ASP/ASP.NET的内置对象,为每个用户存储各自的信息。
(3)可能有些读者会问:这个看似像是数组的session(“...”)是哪里来的?需要我们定义吗?实际上,这个session对象是具有ASP解释能力的www服务器的内建对象。也就是说ASP的系统中已经给你定义好了这个对象,你只需要使用就行了。其中session(“...”)中的..就好像变量名称,session(“...”)=$$中的$$就是变量的值了。