校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > UI专业知识 > 色彩
题目

有关cookie和session的描述,下面错误的是?

A.cookie数据存放在客户的浏览器上,session数据放在服务器上。

B.session是针对每一个用户的,变量的值保存在服务器上,用一个sessionID来区分是哪个用户session变量

C.保存这个session id的方式可以采用cookie

D.只要关闭浏览器,session就消失了

解答

正确答案是 D

1.如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。
2.session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。但程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否包含了一个session标识-称为session id,如果已经包含一个session id则说明以前已经为此客户创建过session,服务器就按照session id把这个session检索出来使用(如果检索不到,可能会新建一个,这种情况可能出现在服务端已经删除了该用户对应的session对象,但用户人为地在请求的URL后面附加上一个JSESSION的参数)。
3.恰恰是由于关闭浏览器不会导致session被删除,迫使服务器为seesion设置了一个失效时间,当距离客户端上一次使用session的时间超过这个失效时间时,服务器就可以认为客户端已经停止了活动,才会把session删除以节省存储空间。
C 6条回复 评论
奕杉

推荐一个我使用过的框架,https://github.com/wuyouzhuguli/FEBS-Vue,UI还不错

发表于 2023-11-28 23:00:00
0 0
鹜落霜洲

java感觉有点难,前端咋样,好学么

发表于 2023-07-18 22:00:00
0 0
灵魂火符

这么久了终于弄明白这个问题

发表于 2022-05-14 22:00:00
0 0
米米大户

session保存在服务器,浏览器关不关,讲真和他关系不大

发表于 2018-10-29 11:28:11
0 0
花将离

Session保存在服务器端,cookie保存在客户端
关闭浏览器会自动删除回话级别的cookie,但是Session存储在服务器端,不会被删除。

发表于 2018-10-29 11:27:56
0 0
万成

Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间。而SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一 SessionID提交到服务器端,来存取Session数据。这一过程,是不用开发人员干预的。所以一旦客户端禁用Cookie,那么Session也会失效。 
服务器也可以通过URL重写的方式来传递SessionID的值,因此不是完全依赖Cookie。如果客户端Cookie禁用,则服务器可以自动通过重写URL的方式来保存Session的值,并且这个过程对程序员透明。 
可以试一下,即使不写Cookie,在使用request.getCookies();取出的Cookie数组的长度也是1,而这个Cookie的名字就是JSESSIONID,还有一个很长的二进制的字符串,是SessionID的值。 
Cookie是客户端的存储空间,由浏览器来维持。

发表于 2018-10-29 11:27:24
0 0