session的概念

Session是服务器端用于维持用户会话的技术,主要特点包括存储在服务端、依赖cookie或URL重写、可能造成服务器负载增加。其工作流程涉及生成sessionid,通过cookie在客户端与服务器间传递,实现会话跟踪。当用户量增大时,session管理可能成为性能瓶颈。了解session的工作原理有助于优化Web应用程序的性能和用户体验。
摘要由CSDN通过智能技术生成

session概念:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。说白了session就是一种可以维持服务器端的数据存储技术。session主要有以下的这些特点:

session保存的位置是在服务端
session一般来说要配合cookie使用,如果用户浏览器禁用了cookie,那么只能使用URL重写来实现session的存储功能

单纯的使用session来存储用户回话信息,那么当用户量较多时,session文件数量会很多,会存在session查询慢的问题
本质上:session技术就是一种基于后端有别于数据库的临时存储技术

session的工作原理
用户第一次请求服务器时,服务器端会生成一个sessionid
服务器端将生成的sessionid返回给客户端,通过set-cookie
客户端收到sessionid会将它保存在cookie中,当客户端再次访问服务端时会带上这个sessionid
当服务端再次接收到来自客户端的请求时,会先去检查是否存在sessionid,不存在就新建一个sessionid重复1,2的流程,如果存在就去遍历服务端的session文件,找到与这个sessionid相对应的文件,文件中的键值便是sessionid,值为当前用户的一些信息
此后的请求都会交换这个 Session ID,进行有状态的会话。
工作原理
//获取session的Id
String sessionId = session.getId();
//将session的Id存储到名字为JSESSIONID的cookie中
Cookie cookie = new Cookie(“JSESSIONID”, sessionId);
//设置cookie的有效路径
cookie.setPath(request.getContextPath());
response.addCookie(cookie);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值