主题:  session\cookie用法区别???

进军.net

职务:普通成员
等级:1
金币:0.0
发贴:105
注册:2005/3/26 19:15:52
#12005/5/17 20:38:25
书倒是看了不少,尤其是session我总是不会用
例如:购物车中使用session我总感觉没有用,完全可以用sql查询(即数据库中取值就可以).代替.


session是写在服务器内存中的吗?????
cookie是写在本地(客户端)硬盘上的.


请版主给指点一下!或给写个session的资料!谢谢了!



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
注册:2001/12/20 15:57:57
#22005/5/17 22:19:51
session是在服务器内存中,记录客户站的信息。session很有用,比如一些保密信息,可写在seesion中,不容易暴露这些信息。比如你用session验证,也可把购物车等信息暂存在session中。
cookie是写在客户端的,以文件形式存在。cookie可以记住每台用户端的信息,但cookie也是不安全的,所以一般保存保密信息都需要小信,比如用户密码,就加密保存在cookie中。


非常大鱼

缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#32005/5/17 23:52:53
session很多时候只是保存一些需要随身携带的数据,比如证明身份的数据,和一些临时的数据,比如验证吗,和购物车.不知道你说的查询数据库做购物车是个什么样的思路,难道选一个商品和取消一个商品都要去查询数据库么?


session是基于cookies实现的.没有cookies的支持,session也无法实现



进军.net

职务:普通成员
等级:1
金币:0.0
发贴:105
注册:2005/3/26 19:15:52
#42005/5/18 12:55:16
引用:::session是基于cookies实现的.没有cookies的支持,session也无法实现


为什么这么说呢????



进军.net

职务:普通成员
等级:1
金币:0.0
发贴:105
注册:2005/3/26 19:15:52
#52005/5/18 18:19:23
当你申请一个页面时,就建立了session会话(sessionid)

请问这个会话是怎么建立的呀???需要定义吗?怎么定义呀?



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
注册:2001/12/20 15:57:57
#62005/5/18 23:36:04
服务器是无法用IP或其它标识记住客户端的,如果没有在客户端建立标识,服务器中Session内容也就无法调用了。所以需要cookie建立对话,这样才能取得session内容。
就好象银行中有了我“蓝鲸”的帐号,如果我不拿出存折或指纹等可识别的东西,银行是不会让你取钱的。


非常大鱼

进军.net

职务:普通成员
等级:1
金币:0.0
发贴:105
注册:2005/3/26 19:15:52
#72005/5/19 13:59:33
引用allinhands: 难道选一个商品和取消一个商品都要去查询数据库么?

我就是这个意思!这样不可以吗?

同时谢谢蓝鲸!



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#82005/5/19 14:08:04
可以,当然可以,哪怕你不用数据库,人工去盯也可以.

但是,效率,开发一个程序这是必须考虑的.就像你去超市买东西,不会看上一个就去买单,然后再继续逛,再买单,再逛.



进军.net

职务:普通成员
等级:1
金币:0.0
发贴:105
注册:2005/3/26 19:15:52
#92005/5/19 19:26:23
呵呵....谢谢了!原来就是效率的问题。如果是asp.net的话是不是就可以用dateset效率会高点儿吗?


另外 当你申请一个页面时,就建立了session会话(sessionid)是不是不在asp页面中不建立session就不会产生这个会话呀???



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#102005/5/19 19:58:03
"如果是asp.net的话是不是就可以用dateset效率会高点儿吗"

我无法理解你的说法.购物车写成类更有条理性和结构性.存取数据库的操作能避免就避免



进军.net

职务:普通成员
等级:1
金币:0.0
发贴:105
注册:2005/3/26 19:15:52
#112005/5/20 12:54:47
谢谢了!