web之Session


原创地址: https://blog.csdn.net/qq_41637061/article/details/92196530

1 Session的产生背景

Cookie可以让服务器端跟踪每个客服端的访问,但是每次客服端的访问都必须传回这些Cookie,如果Cookie很多,则无形中增加了客服端与服务器端的数量传输并且使私密数据处于不安全的状态,Session的出现解决了这些问题。
同一个客服端每次和服务器端交互时,不需要每次传回所有的Cookie值,而只需要传回一个ID,这个ID就是我们经常见到的JSESIONID,它是在我们第一次调用httpServletRequest.getSession()生成的。

2 Session正常的工作的三种方式

  • 基于URL Path Parameter
  • 基于Cookie,如果没有修改Context容器的Cookie标识,则默认也是支持的
  • 基于SSL,默认不支持,只有connector.getAtrribute(“SSLEnabled”)为TRUE时才支持

方式一:
当浏览器不支持Cookie的时候,浏览器会将用户的SessionCookieName重写到用户请求的URL参数中,例如/path/Servlet;name=value;name2=value2
方式二:
在Cookie中拿到SessionId,如果客服端同时支持Cookie也支持URL参数类型,前者的SessionId会覆盖后者的SessionId。
方式三:
根据javax.servlet.request.ssl_session属性值设置SessionId

在web.xml文件中更改默认的NAME(JSESIONID)
在这里插入图片描述

3 Session工作时序图

在这里插入图片描述
上一篇:web之Cookie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值