Jsessionid和cookie的区别与联系

1、session:

session是针对每一个用户的,变量的值保存在服务器端,通过SessionID来区分不同的客户,session是以Cookie或URL重写为基础。默认使用Cookie来实现,系统会创造一个名为JSESSIONID的输出Cookie,或称为"Session Cookie",以区别Persistent Cookies(通常所说的Cookie).Session Cookie是存储在浏览器中,并不是写在硬盘上的,但是把浏览器的Cookie禁止后,使用response对象的encodeURL或encodeRedirectURL方法编码URL,WEB服务器会采URL重写的方式传递Sessionid,用户就可以在地址栏看到jsessionid=A09JHGHKHU68624309UTY84932之类的字符串。
通常Session Cookie是不能跨窗口使用,当用户新开了一个浏览器进入相同的页面时,系统会赋予用户一个新的SessionID,这样信息共享的目的就达不到,此时可以把SessionID保存在Persistent Cookie中,然后再新的窗口中读出来,就可以得到上一个窗口的SessionID了,这样通过Session Cookie和Persistent Cookie的结合,实现了跨窗口的会话跟踪。session的工作原理就session的实现而言,好像是这样的:(1)当有Session启动时,服务器生成一个唯一值,称为SessionID(好像是通过取进程ID的方式取得的)。(2)然后,服务器开辟一块内存,对应于该SessionID。(3)服务器再将该SessionID写入浏览器的cookie(一些在网页的源代码中有所体现)。(4)服务器内有一进程,监视所有Session的活动状况,如果有Session超时或是主动关闭,服务器就释放该内存块。(5)当浏览器连入IIS(服务器)时并请求的ASP(脚本语言)内用到Session时,IIS(服务器)就读浏览器Cookie中的SessionID。(6)然后,服务检查该SessionID所对应的内存是否有效。(7)如果有效,就读出内存中的值。(8)如果无效,就建立新的Session。注意:(1)在大浏览量的网站,Session并不保险,我们过去的网站就经常碰到存在Session中得值不正确(可能出现重复的Session ID)。(2)Session ID不能从硬盘上的Cookie文件获得,如果想在客户端获知自己的Session ID,只能通过JavaScript来读取。

2、cookie:

所谓Cookie,只是一条极为短小的信息,它能够被网站自动地文本方式放置在一台电脑的硬盘中。通过Cookie,网站可以识别你是第一次访问,或是又一次访问它。网站还可以利用Cookie了解你对哪些内容感兴趣,收集与用户有关的信息,例如记录自动登录的时间限制,记录用户名,投票仅一次的限制等等。在你浏览某些网站的时,网站的程序会在你不知不自觉中将一个小的Cookie(作为一个文本文件)存储在你的硬盘中。如果你想知道自己电脑里都有什么样的Cookie,那么请在Windows目录下寻找Cookie的文件夹。

去除Cookie

如果你不想在电脑里存储Cookie,可以改变浏览器的设置。具体方法如下(以IE为例):启动IE,找到“工具/Internet 选项/安全/自定义级别”,这时你就可以看到如何处理Cookie的不同选项了。这种方法适用于IE 5.0以上的版本
时间: 2024-07-30 05:11:46

Jsessionid和cookie的区别与联系的相关文章

详谈session和cookie的区别

一.cookie机制和session机制的区别*************************************************************************************具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案.同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择,比如说

[06] Session实现机制以及和Cookie的区别

1.为什么有Session和Cookie 根据早期的HTTP协议,每次request-reponse时,都要重新建立TCP连接.TCP连接每次都重新建立,所以服务器无法知道上次请求和本次请求是否来自于同一个客户端.因此,HTTP通信是无状态的.服务器认为每次请求都是一个全新的请求,无论该请求是否来自同一地址. 但是这也带来了问题,假如不使用Session或Cookie,那么就意味着假如你登录了某个购物网站,你的每次请求因为无状态,购物网站的服务器都无法判断你的身份和登陆与否,意味着为了保持登陆你

session与cookie的区别<转载>

我所知道的有以下区别:       1.session保存在服务器,客户端不知道其中的信息:cookie保存在客户端,服务器能够知道其中的信息.       2.session中保存的是对象,cookie中保存的是字符串.       3.session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到.而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的.       4.session需要借助cookie才能正常

Sission和Cookie的区别

Sission和Cookie的区别 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书.这个Session是保存在服务端的,有一个唯一标识.在服务端保存Session的方法很多,内存.数据库.文件都有.集群的时候也要

session 和 cookie 的区别与联系

1.创建一个新的Cookie Cookie cookie = new Cookie("username",name); 2.设置cookie在客户端上存活多久 cookie.setMaxAge(30*60); 3.把cookie发送到客户 response.addCookie(cookie); 4.从客户请求得到cookie(或多个cookie) Cookie[]    cookies=request.getCookies(); for(int i=0-;i<cookies.le

session与cookie的区别,有哪些不同之处

session与cookie的区别,根据自己的理解总结如下: (1)cookie是一种客户端的状态管理技术,将状态写在 浏览器端,而session是一种服务器端的状态管理技术,将 状态写在web服务器上面. (2) cookie有很多限制: a, 可以被用户禁止 b, cookie能够保存的数据比较小(大约4k),而且 保存的个数也有限制(300个左右). c,  cookie不安全 d,  cookie只能保存字符串 而session能够保存更多的数据,相对更安全,保存的 数据类型更丰富. s

PHP中常用的超全局变量 表单中get和post提交方式的区别 session与cookie的区别 GD库是做什么用的

PHP中常用的超全局变量 $_GET ----->get传送方式$_POST ----->post传送方式$_REQUEST ----->可以接收到get和post两种方式的值$GLOBALS ----->所有的变量都放在里面$_FILES ----->上传文件使用$_SERVER ----->系统环境变量$_SESSION ----->会话控制的时候会用到$_COOKIE ----->会话控制的时候会用到 表单中get和post提交方式的区别 get是把参

localStorage、sessionStorage和cookie的区别

本地客户端(浏览器)查看三者信息: HTML4的本地存储:cookie 浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等根服务端进行数据交互. 一.cookie 和 session cookie 和 session都是用来跟踪浏览器用户身份的会话方式. 区别: 保持状态:cookie保存在客户端(浏览器),session保存在服务器端 使用方式: cookie机制:如果不在浏览器中设置过期时间,cookie被保存在内存中,生命周期随浏览器的关闭而结

jsessionid與cookie關係的理解

本地測試地址為http://localhost/TEST/login.jsf 當瀏覽器打開cookie時,瀏覽器第一次與服務器建立連接,會創建一個session,並生成一個id即jsessionid,通過response header中的set-cookie方法傳遞給client,當server判斷request中沒有包含jsessionid的cookie時,就是通過URL改寫機制向client傳信息. 在首次瀏覽器與服務器建立連接的請求中,request中並沒有發現保存著jsessionid的