当前位置: 首页 > 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)


 

http://www.xdnf.cn/news/631729.html

相关文章:

  • 变革性的聚变路线:基于FRC构型的可控核聚变
  • leetcode 862. 和至少为 K 的最短子数组
  • 2025深圳国际无人机展深度解析:看点、厂商与创新亮点
  • 何谓第二大脑?读书笔记
  • 进一步学习线程相关知识
  • 《打破枷锁:Python多线程GIL困境突围指南》
  • AUTOSAR图解==>AUTOSAR_SRS_LIN
  • 【MySQL】第十弹——事务
  • 夏日旅行(广度优先搜索)
  • YOLO11解决方案之使用 Streamlit 应用程序进行实时推理
  • Linux-读者写著问题和读写锁
  • 长序列高时空分辨率月尺度温度和降水数据集(1951-2011)
  • Java面向对象 一
  • Elsevier期刊的Latex投稿论文如何设置Table、Fig、Algorithm和交叉引用为天蓝色
  • 【信息系统项目管理师】一文掌握高项常考题型-项目进度类计算
  • 2025年八大员【标准员】考试题库及答案
  • 从 0 到 1!Java 并发编程全解析,零基础入门必看!
  • DAY34打卡
  • 黑马点评-乐观锁/悲观锁/synchronized/@Transactional
  • java刷题(6)
  • Netty学习专栏(三):Netty重要组件详解(Future、ByteBuf、Bootstrap)
  • RPG游戏设计战斗篇——战法牧协同作战体系研究
  • itextpdf根据模板生成pdf导出pdf遇到的问题
  • 【商业分析】充分了解“特性”和“功能”的区别,加强资源的聚焦度。
  • Java中的String的常用方法用法总结
  • Linux基础命令详解:touch、cat、more 的使用技巧与实战
  • Dynamics 365 简介
  • Python爬虫开发基础案例:构建可复用的名言采集系统
  • 【信息系统项目管理师】第24章:法律法规与标准规范 - 27个经典题目及详解
  • 力扣48 .旋转图像 (最简单的方法)