session 还是cookie?

来源:百度知道 编辑:UC知道 时间:2024/05/14 09:11:43
用Asp做一个网站,大部分页面需要用户登录后才能访问,并且需要在这些页面间传递用户的Id,现在的问题是对于cookie和session不知道用哪个好?我目前的理解是:
1、session的默认有效期是20分钟,我的有些页面,比如撰写文章的页面20分钟肯定是不够的,但是听说session很耗费服务器资源,又担心有效期设长了影响服务器工作效率(比如有很多人同时在线的情况)。
2、对于cookie不是很了解,听说如果浏览器的安全级别设置为高的话是无法写入cookie的,而且cookie的安全性不如session。
我现在很迷惑,具体问题如下:
1、session的有效期是一次性设置即可吗?比如在用户登录页面设置session("user")的timeout为30分钟,那么在session("user")传递到的其他页面它的有效期都是30分钟吗?
2、cookie有没有默认的有效期?如何以小时为单位设置cookie有效期?
3、最关键的问题是象这样每个页面都要验证用户是否登录的情况,而且有些页面需要停留较长的时间,应该用session还是cookie?最好请详细说明
4、现在有很多用Asp写的博客网站,可以停留很长时间在上面写文章,他们都用的是session还是cookie呢?
呵呵,写了一大堆问题,但只有5分了,全盘奉上,还望各位明白人慷慨解答,多谢!

session的默认有效期是20分钟,session对象在网站的任何一个页面都可以存取session信息,要想更改用Timeout属性,格式是:Session.Timeout=整数 (分钟)
session变量保存在客户端主机的内存上,关闭浏览器或者session脚本过期后,即自动清除。
cookies保存在客户端主机的硬盘上,可以自行设置cookies的存在周期,格式:response.cookies("变量名").expires=#2007-1-1#
除非设置了临时cookies,否则关闭浏览器后cookies信息仍旧保存在主机的硬盘上。

Session对象与Cookie对象在客户端联合存取会话级变量的方法简单实用,我也用的一个blog的程序就是两个联合使用的

你说的有效期时间是最低

也就说,你不设置Timeout参数,或者参数时间低于最低时间就会是默认的时间

设置一下时间应该可以了吧

如Session.Timeout=600