如何维护Http请求的状态

我们都知道,Http协议是无状态的,也就是说,下一次请求并不知道上次请求的内容,那么,我们如何维护Http请求的状态呢?

一、服务端处理:

  1. 当浏览器第一次请求时,给请求者分配一个唯一标识,如:001,并随请求一同返回给请求者;
  2. 创建一个Map结构,以用户标识为key,要维护的会话内容为value。

二、客户端(浏览器)处理:

  1. 第一次请求结束后,浏览器保存服务端分配的唯一标识
  2. 浏览器每次向服务端发起请求时,将服务端分配给自己的唯一标识携带上。

上面的处理方案,其实就是我们现行浏览器和web容器采用的方案,即Cookie和Session。Cookie是在浏览器端维护的,Session是在服务端维护的。

  1. 如何记录一次会话?
    当浏览器第一次请求时,web容器会生成一个JSESSIONID,并将JSESSIONID返回给浏览器,浏览器会将JSESSIONID保存在本地的Cookie中,以后每次请求都会携带JSESSIONID,用于标识是同一个浏览器的请求。

  2. 如何记录会话内容?
    上面的JSESSIONID只能记录所有的请求在同一次会话中,并不能记录上次的会话内容,如果需要记录上一次的会话内容,只需要将内容保存在服务端的Session中。Session保存的是一个键值对,这次请求保存的数据可以在下次请求中取出来。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值