session cookies的识别问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 13:18:43
session是一种保存上下文信息的机制,它是针对每一个用户的,变量的值保存在服务器端,通过SessionID来区分不同的客户,session是以cookie或URL重写为基础的,默认使用cookie来实现,系统会创造一个名为JSESSIONID的输出cookie,我们叫做session cookie,以区别persistent cookies,也就是我们通常所说的cookie,session cookie是存储于浏览器内存中的,并不是写到硬盘上的。
当我们用同一个浏览器(如ie7)访问不同的网站,产生不同的sessionid的时候,如何区分呢?因为sessionid的存储都是kev value形式的jsessionid=xxxx,既然key都是jsessionid,不会被覆盖么,如果不会被覆盖,如何区分呢?
用一个浏览器进程,访问不同的网站产生的session cookie,浏览器是如何识别的?

这个域是个什么概念呢?比如我访问一个网站,用域名跟用ip访问,产生的cookie会是一样的么?

?? 这个问题有意思,我一般都是用js来区分,然后可以保存在cookie 或session里.
至于ie6跟ie7存储会不会有区别??? ,个人感觉不应该有区别,因为要通用,肯定就是标准,这样来说,在客户端应该是一样的.

回答补充:
实际上客户端就是cookie 他有域的概念,不同的网站实际上是不同的域.浏览器也是靠这个域来区分cookie的.

用域名跟IP访问,产生的cookie是不一样的. 也就是说你用IP登录了.当你再用域名访问时,还要再登录一遍.
不光是IP与域名,就是同一个域名的二级域名,也不是同一个域.
比如:
www.abc.com/vip
与vip.abc.com
即使vip.abc.com是二级域名,指向的也是www.abc.com/vip 用这两种方式都可以访问.但是他们属于两个域.我以前做网站时就遇到过这个事情,还费了好大劲去解决cookie 的跨域问题.
其实你只要上网搜一下 "cookie作用域" 这方面文章很多的.当然看文章是一方面.更主要的是你最好能自己试验下,这样更有助于你的理解.