设置会话有效时间的方法_服务器会话有效时间

Դ新华社

ߣ关键词优化

13

2021-11-07 22:47:11

Cookie与Session的作用于原理

会话跟踪是Web程序中常见的技术,用于跟踪用户的整个会话。常见的会话跟踪技术有Cookie和会话。Cookie通过在客户端记录信息来确定用户的身份,而Session通过在服务器上记录信息来确定用户的身份。Cookie

Cookie实际上是一小段文本信息。请求客户端服务器,如果服务器需要记录用户状态,生成一个用户ID,然后在响应消息中以Cookie的形式将ID号传递给浏览器。客户端浏览器将保存Cookie。以后每次浏览器访问web服务器时,浏览器都会将请求的网址和Cookie一起提交给服务器。服务器检查Cookie以识别用户状态。服务器还可以根据需要修改cookies的内容。浏览器不能共享Cookies。

Cookies不能跨域名。比如访问谷歌的浏览器只会携带谷歌cookie,不会携带百度cookie。Cookie的最大年龄决定了Cookie的有效期,单位为秒。

默认情况下,cookie是一个会话级别的,用户退出浏览器后被删除

Session

会话是记录客户状态的另一种机制。区别在于Cookie存储在客户端浏览器中,而会话存储在服务器上。当客户端浏览器访问服务器时,服务器以某种形式将客户端信息记录在服务器上。这就是会议。

如果Cookie机制通过检查客户的“护照”来确定客户的身份,那么Session机制通过检查服务器上的“客户列表”来确认客户的身份。会话相当于服务器上程序创建的客户文件。客户来访时,只需查询客户档案表。

会话保存在服务器端。为了获得更高的访问速度,服务器通常将会话放在内存中。每个用户都有一个独立的会话。如果Session的内容过于复杂,可能会在大量客户访问服务器时导致内存溢出。因此,会议中的信息应尽可能简洁。

session工作原理

(1)当客户端开始访问时,web不会创建会话。当访问一个特殊的程序,并且程序(servlet)决定打开与客户端的会话时,服务器将生成一个唯一的值,称为会话标识(它似乎是通过获取进程标识获得的)。服务器打开一块内存,它对应于会话标识。

(2)服务器将会话标识写入浏览器的cookie中。

(3)服务器中有一个进程监控所有会话的活动状态。如果任何会话超时或主动关闭,服务器将释放内存块。

(4)当浏览器连接到服务器并请求会话时,服务器读取浏览器Cookie中的会话标识。

(5)然后,服务检查会话标识对应的内存是否有效。

(6)如果有效,读取内存中的值。

(7)如果无效,请创建一个新会话。

tomcat默认设置是30分钟

设置非常简单,有三种方法:

(1)添加:

session . setmaxinactiveinterval(900);

参数900的单位是秒,即15分钟不活动后,会话将无效。设置为-1表示永不关闭。

请注意,此会话设置的时间是根据服务器而不是客户端计算的。因此,如果您正在调试程序,您应该修改服务器端的测试时间,而不是客户端。

(2)设置会话到期时间也是常用的方法,即在项目的web.xml中设置。

会话配置

会话超时15/会话超时

/session-配置

这是15分钟,也就是15分钟。

(3)直接在应用服务器中设置。如果是tomcat,可以在tomcat目录下的conf/web.xml中。

找到元素,tomcat默认设置是30分钟,只需修改这个值。

需要注意的是,如果以上三个地方都设置好了,就存在优先级问题,从高到低:

(1)—(2)—-(3)

生命周期:

1)tomcat默认为30分钟。

2)由于会话和cookie的关系,客户端浏览器通过cookie维护会话,cookie不支持跨浏览器共享,这意味着如果浏览器关闭,会话将无效(但服务器仍然保留)。因此,当同一台机器的两个浏览器窗口访问服务器时,将生成两个不同的会话。

佭ϴý Ѷ Media8ý

在线客服

外链咨询

扫码加我微信

微信:juxia_com

返回顶部