Cookie和Session的联系与区别

二者之间的联系与区别

联系:

二者都可以用来保存用户的信息, Session的使用要求用户浏览器必须支持Cookie, 如果浏览器不支持使用Cookie,或者设置为禁用Cookie,那么将不能使用Session。用户在进行访问时,服务器会通过查找session,将用户的session ID传给浏览器,而浏览器则将这个ID以cookie的形式保存在浏览器的内存中。也可以说cookie是session在浏览器中的标识。当然也可以以其他的方式保存。

区别:

●cookie是保存在浏览器的内存中,而session则是保存在服务器端。  ●session与cookie相比,当你登陆访问页面的时候,使用cookie可以自动登录,如果有人另外一个客户端同时登录。这个时候,服务器就会检查其session ID。如果已经有相同的session ID登录,就不会允许再登录。这样可以防止同一用户多次登录,保障公司的利益。  ●用户可以通过在浏览器设置不保存cookie,而当用户登录时,服务器会将session ID以密文的形式写在HTTP的响应报头,从而实现访问的上下连贯。  ●cookie放置在浏览器内存中,使用起来更加灵活方便,session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能  ●SESSION是保存在服务端的;Cookie是保存在客户机器上的Session不可伪造;Cookie可以伪造!并且session不传递,因此,session比cookie更加的安全。

几个应当注意的问题:
●Cookie的过期和Session的超时有什么区别 会话的超时由服务器来维护,它不同于Cookie的失效日期。首先,会话一般基于驻留内存的cookie不是持续性的cookie,因而也就没有截至日期。即使截取到JSESSIONID cookie,并为它设定一个失效日期发送出去。浏览器会话和服务器会话也会截然不同。

●session cookie和session对象的生命周期是一样的吗 当用户关闭了浏览器虽然session cookie已经消失,但session对象仍然保存在服务器端

●是否只要关闭浏览器,session就消失了 程序一般都是在用户做log off的时候发个指令去删除session,然而浏览器从来不会主动在关闭之前通知服务器它将要被关闭,因此服务器根本不会有机会知道浏览器已经关闭。服务器会一直保留这个会话对象直到它处于非活动状态超过设定的间隔为止。 之所以会有这种错误的认识,是因为大部分session机制都使用会话cookie来保存session id,而关闭浏览器后这个session id就消失了,再次连接到服务器时也就无法找到原来的session。 如果服务器设置的cookie被保存到硬盘上,或者使用某种手段改写浏览器发出的HTTP请求报头,把原来的session id发送到服务器,则再次打开浏览器仍然能够找到原来的session。 恰恰是由于关闭浏览器不会导致session被删除,迫使服务器为session设置了一个失效时间,当距离客户上一次使用session的时间超过了这个失效时间时,服务器就可以认为客户端已经停止了活动,才会把session删除以节省存储空间。 由此我们可以得出如下结论: 关闭浏览器,只会是浏览器端内存里的session cookie消失,但不会使保存在服务器端的session对象消失,同样也不会使已经保存到硬盘上的持久化cookie消失。

●打开两个浏览器窗口访问应用程序会使用同一个session还是不同的session 通常session cookie是不能跨窗口使用的,当你新开了一个浏览器窗口进入相同页面时,系统会赋予你一个新的session id,这样我们信息共享的目的就达不到了。 此时我们可以先把session id保存在persistent cookie中(通过设置session的最大有效时间),然后在新窗口中读出来,就可以得到上一个窗口的session id了,这样通过session cookie和persistent cookie的结合我们就可以实现了跨窗口的会话跟踪。(Session cookie 又叫 transient cookie,它被存储在临时的存储器中,浏览器关闭后不会保留; Persistent cookie 又叫 permenent cookie,它被存储在用户的硬件上,直到过期或这是用户自行删除)

时间: 2024-10-29 03:01:45

Cookie和Session的联系与区别的相关文章

cookie、session、sessionid的区别

我们都知道银行,银行的收柜台每天要接待客户存款/取款业务,可以有几种方案: 1.凭借柜台职员的记忆,由收柜台职员来为每位顾客办理存款/取款业务,单凭职员的记忆力,要记到每位顾客的相貌,并迅速这个顾客当前的存款以及存取的次数,每次存取的金额是多少.-----------这种方式表示协议本身支持状态. 2.使用存折的方式,然后柜台职员就把每个顾客的存款/取款的信息保存在这张折子,然后交给顾客保管,当顾客来存款/取款时,只要拿出存折,职员查看存折就对当前这位顾客的存款/取款信息一目了然.当然,你马上会

描述Cookie和Session的作用,区别和各自的应用范围,cookie、Session工作原理

一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于在服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择.二.会话cookie和持久cookie的区别 如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了.这种生命期为浏览

Cookie、session和token的区别

Cookie的内容是保存一小段文本信息,这些文本信息组成一份通行证.它是客户端对于无状态协议的一种解决方案. Cookie的原理 (1)客户端第一次请求时,发送数据到服务器. (2)服务器返回响应信息的同时,还会传回一个cookie(cookie S-001) (3)客户端接收服务器的响应之后,浏览器会将cookie存放在一个统一的位置. (4)客户端再次向服务器发送请求的时候,会把Cookie S-001再次发挥服务器. cookie的生命周期 cookoe的生存时间是整个会话期间:浏览器会将

缓存Cookie、session、localStorage的区别

cookie Cookie就是服务器暂存放在你计算机上的一笔资料,好让服务器用来辨认你的计算机.当你在浏览网站的时候,Web服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都记录下来.当下次你再光临同一个网站,Web服务器会先看看有没有它上次留下的Cookie资料,有的话,就会依据Cookie里的内容来判断使用者,送出特定的网页内容给你 |-setCookie.html 设置一个cookie |-getCookie.html 获取setCookie的c

cookie、session的联系和区别,多台web服务器如何共享session?

cookie在客户端保存状态,session在服务器端保存状态.但是由于在服务器端保存状态的时候,在客户端也需要一个标识,所以session也可能要借助cookie来实现保存标识位的作用.cookie包括名字,值,域,路径,过期时间.路径和域构成cookie的作用范围.cookie如果不设置过期时间,则这个cookie在浏览器进程 存在时有效,关闭时销毁.如果设置了过期时间,则cookie存储在本地硬盘上,在各浏览器进程间可以共享.session存储在服务器端,服务器用一种散列表类型的结构存储信

cookie和session和localStorage的区别

这三个都是保存在浏览器端,而且都是同源的. Session仅在当前浏览器窗口关闭有效,不能持久保存 Localstorage始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据 Cookie只在设置的cookie过期时间之前有效. Cookie能在浏览器和服务器之间来回传递,其他两个不能 但是session和LOcalstorage比cookie的存储空间大很多.

cookie和session 区别和联系

漫谈Cookie与Session 及其区别和联系 之前在网上看到了有人关于Session详解,感觉不错,的确很多人对Cookie与Session一直处于混淆状态,因此,我在这里借用了一部分前辈的总结,经过自己的理解进行修改和完善,并补充了二者之间的区别和联系,如有不妥当之处还请各位批评指正. 一.Session概念 Session,中文翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个会话.在这里Session是指一个浏览

Cookie、session和localStorage、以及sessionStorage之间的区别

一.Cookie.session和localStorage的区别 cookie的内容主要包括:名字.值.过期时间.路径和域.路径与域一起构成cookie的作用范围.若不设置时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就会消失.这种生命期为浏览器会话期的cookie被称为会话cookie. 会话cookie一般不存储在硬盘而是保存在内存里,当然这个行为并不是规范规定的.若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再打开浏览器这些cookie仍

Java——Cookie与Session

Cookie通过客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 1.Cookie  1.1概念及使用方法 Cookie实际上是一小段文本信息.客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie.客户端浏览器会把Cookie保存起来,当浏览器再请求该网站时,把请求的网址连同该Cookie一同交给服务器.服务器检查该Cookie,以此来辨认用户状态.服务器还可以根据需要修改Cookie的内容. java中把Cook