当前位置: 首页 > news >正文

http协议和session会话

1.http协议:(超文本传输协议)

(1)请求和相应:

传输过程中:请求包含三个部分:

请求行:协议的版本(http1.1)请求的方式(post get) 请求url

请求头:告诉服务器关于浏览器的一些信息

请求体:分为三种情况:

get方式:没有请求体,有个queryString

post方法:有请求体:form data

json方式:有请求体,request payload

响应的组成类似:

响应行:协议版本(http1.1) 响应状态(ok) 响应编码(200)

响应头:服务器的一些信息,内容的一些信息(内容媒体类型,编码,内容长度)

响应体:响应的实际内容,比如请求的是add.html时响应体为该文件的代码;

(2)http是无状态的:

服务器无法判断两次请求是否为两个不同的客户端发来的,为解决这个问题,引入了会话跟踪技术

对于一次请求,service方法中会调用request的getSession方法来确定该客户端是否是第一次发送请求,若为第一次,则分配一个sessionid号,若不为第一次,则该方法会获取到该客户端的sessionid;

HttpSession session = request.getSession();

同时,session对象有一个getId方法,可以获取到id号

2.会话跟踪技术:

常用api:

request.getSession()获取会话对象,没有创建新的

request.getSession(true)  效果与上一个相同

request.getSession(false)    获取会话,如果没有返回null,不会创建新的

session.getId()获取会话id

session.isNew()判断是否为新的

session.getMaxInactiveInterval()获取session会话保质期  默认半小时

session.setMaxInactiveInterval()

session.invalidate()强制失效

3.session保存作用域:

常用api:

void session.setAttribute(k, v)

Object session.getAttribute(k)

void session.removeAttribute(k)


 

相关文章:

  • 恢复二叉搜索树:递归与中序遍历的智慧应用
  • 汇编语言的子程序魔法:解锁四则运算的奥秘
  • AtCoder Beginner Contest 407(ABCDE)
  • 机器学习模型度量指标(混淆矩阵、准确率、精确率、召回率、F1分数、ROC曲线、AUC、平均精度均值)
  • (泛函分析)压缩映射
  • 线性回归原理推导与应用(七):逻辑回归原理与公式推导
  • [yolov11改进系列]使用轻量级骨干网络MobileNetV4替换backbone的python源码+训练源码+改进流程+改进原理
  • S32K3开发问题-ADC采样电压一直为5V原因分析及处理
  • 探索链表的奇妙世界:从基础到高级应用
  • RIP 协议实验全记录:从配置到问题解决
  • Linux常见指令合集+知识点
  • 哪些实验需要强磁场
  • esp32+IDF V5.1.1版本编译freertos报错
  • C++八股 —— 手撕定时器
  • 树形DP
  • 如何快速解决 java maven项目中jar冲突的问题
  • 「Python教案」输入输出函数的使用
  • 为什么在设置 model.eval() 之后,pytorch模型的性能会很差?为什么 dropout 影响性能?| 深度学习
  • 人工智能杂谈(十二)大模型与小模型的应用场景及未来发展趋势
  • Nacos适配GaussDB超详细部署流程
  • wordpress评论删除站点/简述网站制作的步骤
  • 房产网站系统源码/b站推广
  • 有没有做网站的公司/小说网站排名人气
  • html5手机网站模板 下载/活动推广文案
  • 网页制作三剑客软件/苏州网站优化公司
  • 做爰网站美女图片/业务员用什么软件找客户