回 帖 发 新 帖 刷新版面

主题:请教关于session库 谢谢

书上说“当一个session第一次被启用时,一个唯一的标识将被存放于本地的Cookie中”,
我想问的是:
1。Cookie是什么?
2。“本地”指的是远方的服务器,还是自己的电脑?
谢谢!

回复列表 (共4个回复)

沙发

简单点来说吧:
cookie是一种存储在客户浏览器中的一个小文件,伴随着用户请求和页面在 Web 服务器和浏览器之间传递一些信息,这些信息是全局的,有时间限制的,用来起网站记忆功能的.
session的功能基本上也是如此.主要的区别就是:
cookie存储在客户端浏览器中,也就是你所说的 "本地",session存储在服务器中.
那么怎么样理解"当一个session第一次被启用时,一个唯一的标识将被存放于本地的Cookie中"这句话呢?

不要误解,要相信session本身是并且绝对是存储在服务器上的,那么当客户端浏览网站的时候,也即创建一个session的时候,怎么样区别这些会话状态,怎么知道是当前浏览器对应的session呢?其实这个时候服务器会在当前的客户端创建一个会话标识,也就是sessionid以标识当前会话状态.如何与客户端浏览器交换这个sessionId 的信息,一般有三种方式:cookie、URL重写、和隐藏表单,后两种是类似的。
如果是第一种,那么sessionid被关联到一个浏览器一关闭就失效的cookie里,然后客户端浏览器每次用这个cookie来标示会话。这就是你所说的 “一个唯一的标识将被存放于本地的Cookie中”。

板凳

longlong16你好,谢谢你清楚详尽的解释,
1。现在我对这个问题的理解是,当许多用户同时向一个论坛发帖子时,论坛服务器的
session就是根据那些用户电脑中的cookie的标识,来判断是哪个电脑,也就是,是哪
个username在向它上传帖子,这样理解对吗?
2。ie地址下拉栏中有许多用过的地址,我想把它们删掉,可不知从哪下手,它们是否
也在cookie中?怎样才能把它们删掉?看了你的讲解后我就去找那个cookie:ie-工具
-internet选项-internet临时文件,可看不懂。
还有许多填写姓名、密码之类的框也存在上面说的问题,怎么才能删除它们呢?
谢谢!

3 楼

1.可以这么理解
2.ie地址栏里的历史记录不是保存在cookie里,是保存在系统自带的history文件夹下,如果你要查看的话,先要显示所有文件,因为这个文件夹是隐藏的!
位置在:
C:\Document and Settings\Users(当前的登陆用户名)\Local Settings\History
如果删除cookie的话除了 你所说的方法 还可以直接找到cookie的保存文件夹 在

C:\Document and Settings\Users(当前的登陆用户名)\Cookies里 直接删除

4 楼

非常感谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册