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

http 请求报文响应报文的格式以及Token cookie session 区别

面试必备

  • http 请求报文响应报文的格式
  • Token cookie session 区别

http 请求报文响应报文的格式

HTTP 请求报文和响应报文的格式如下:
HTTP 请求报文格式:

<方法> <路径> <协议版本>
<请求头部字段1>: <值1>
<请求头部字段2>: <值2>
...
<空行>
<请求体>
  • <方法>: 请求方法,例如 GET、POST、PUT、DELETE 等。
  • <路径>: 请求的路径,表示需要访问的资源。
  • <协议版本>: 使用的协议版本,通常是 HTTP/1.1 或 HTTP/2。
    请求头部字段:包含了关于请求的附加信息,每个字段由字段名和对应的值组成,用冒号分隔。
    空行:请求头部和请求体之间需要用一个空行分隔。
    请求体:POST 或 PUT 请求中包含的数据,通常用于传输表单数据、JSON 数据等。
    HTTP 响应报文格式:
<协议版本> <状态码> <状态码描述>
<响应头部字段1>: <值1>
<响应头部字段2>: <值2>
...
<空行>
<响应体>
  • <协议版本>: 使用的协议版本,通常是 HTTP/1.1 或 HTTP/2。
  • <状态码>: 表示服务器对请求的处理结果的状态码,例如 200 表示成功,404 表示资源未找到等。
  • <状态码描述>: 对状态码的简要描述。
    响应头部字段:包含了关于响应的附加信息,每个字段由字段名和对应的值组成,用冒号分隔。
    空行:响应头部和响应体之间需要用一个空行分隔。
    响应体:服务器返回的数据,可以是 HTML、JSON、文件等。
    需要注意的是,请求报文和响应报文都是纯文本,通过服务器和浏览器之间的传输实现数据的交互。报文的具体内容根据不同的请求和响应类型而有所不同。

Token cookie session 区别

Token、Cookie和Session是常见的身份验证和会话管理机制,它们之间有以下区别:
Token(令牌):

  • Token是一种无状态的身份验证机制,用于验证用户的身份。
  • 在用户进行身份验证后,服务器会生成一个Token并将其发送给客户端(通常是通过HTTP响应的方式)。
  • 客户端收到Token后,将其存储在本地(通常是在客户端的存储器中,如浏览器的localStorage或移动应用程序的本地存储)。
  • 客户端每次向服务器发送请求时,都需要将Token作为请求的一部分发送给服务器(通常是通过HTTP请求头的Authorization字段)。
  • 服务器接收到请求后,通过验证Token的有效性来确定用户的身份。
  • Token可以包含加密的信息,如用户ID、权限等。
    Cookie(HTTP Cookie):
  • Cookie是一种在客户端保存状态信息的机制。
  • 在用户进行身份验证后,服务器会在响应中设置一个Cookie,将其发送给客户端。
  • 客户端收到Cookie后,将其存储在本地(通常是在浏览器中)。
  • 客户端每次向服务器发送请求时,都会自动将Cookie作为请求的一部分发送给服务器。
  • 服务器接收到请求后,通过解析Cookie的内容来获取相关的状态信息。
  • Cookie通常用于保持用户的登录状态、跟踪用户的会话等。
    Session(会话):
  • Session是一种在服务器端保存状态信息的机制。
  • 在用户进行身份验证后,服务器会为该用户创建一个Session,并将Session ID发送给客户端(通常是通过Cookie)。
  • 客户端收到Session ID后,将其存储在本地(通常是在Cookie中)。
  • 客户端每次向服务器发送请求时,都会自动将Session ID作为请求的一部分发送给服务器(通常是通过Cookie)。
  • 服务器接收到请求后,通过Session ID找到对应的Session,并获取相关的状态信息。
  • 服务器会在服务器端保存Session的内容,通常存储在内存或数据库中。
  • Session通常用于跟踪用户的会话、存储用户的身份验证信息等。
    总结来说,Token是一种无状态的身份验证机制,Cookie是一种在客户端保存状态信息的机制,而Session是一种在服务器端保存状态信息的机制。它们在实现上有所不同,适用于不同的场景和需求。
http://www.lryc.cn/news/95498.html

相关文章:

  • 智能汽车的主动悬架工作原理详述
  • vue2和vue3的一些技术点复习
  • 安装nvm 切换node版本
  • 【html中的BFC是什么】
  • 苹果账号被禁用怎么办
  • 跨境出海企业,如何防范恶意退货欺诈
  • 数据出境要依法“过安检”!什么是数据出境?
  • ARM——点灯实验
  • Kubernetes 使用 helm 部署 NFS Provisioner
  • Istio Pilot源码学习(二):ServiceController服务发现
  • Spring框架中的ResourcePatternResolver只能指定jar包内文件,指定容器中文件路径报错:FileNotFoundException
  • pytorch工具——认识pytorch
  • 解决Jmeter响应内容显示乱码
  • ChatGPT和搜索引擎哪个更好用
  • Nginx 301 https跳转后出现跨域和混合内容问题 —— 筑梦之路
  • 记录--关于前端的音频可视化-Web Audio
  • docker-compose yml配置、常用命令
  • 【实战】 七、Hook,路由,与 URL 状态管理(下) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(十三)
  • 【MySQL】_5.MySQL的联合查询
  • 【后端面经】微服务构架 (1-3) | 熔断:熔断-恢复-熔断-恢复,抖来抖去怎么办?
  • 对UITextField输入内容的各种限制-总结
  • 【图论】二分图
  • 数据结构——(一)绪论
  • [ 华为云 ] 云计算中Region、VPC、AZ 是什么,他们又是什么关系,应该如何抉择
  • 表单验证:输入的字符串以回车分隔并验证是否有
  • 智能财务分析-亿发财务报表管理系统,赋能中小企业财务数字化转型
  • 图为科技T501赋能工业机器人 革新传统工业流程
  • 安全狗深度参与编写的《云原生安全配置基线规范》正式发布!
  • 如何在3ds max中创建可用于真人场景的巨型机器人:第 2 部分
  • Vue中TodoList案例_编辑