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

2023-11-18

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是一种在服务器端保存状态信息的机制。它们在实现上有所不同,适用于不同的场景和需求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • IIS7 和 HTTP 状态代码处理

    我因试图对 IIS7 集成模式 中的错误呈现进行完整的编程控制而感到非常头疼 我想要做的是给出一个错误 找不到页面 内部服务器错误 未经过身份验证等 将整个请求传输到自定义 ASPX 或 HTML 我更喜欢后者 并使用正确的 HTTP 状态
  • 使用 Servlet 启动 VLC HTTP Stream 时出现问题

    我正在为自己开发一个 VLC 项目 我的目标是创建一个 HTML 前端来启动流 我通过使用 Java Servlet 来完成此操作 概述 乌班图13 04 Java 7 21 冰茶 2 3 9 Eclipse JAVAEE IDE 雄猫7
  • 如何从一个端口为 Jetty 提供 https 和 http 服务?

    我知道这是一个重复的问题 但原始发帖者提出这个问题的原因是错误的 我并不是暗示我问它是为了right原因 但让我们看看 我们有一个在非标准端口号上运行的 Web 服务 尽管用户似乎能够记住端口号 但有时他们会错误地输入 http 而不是 h
  • 如何为 HTTP GET 的多个 Key-Value 参数设计 REST URI

    我正在设计一个 RESTful API 一项服务应该提供多个键值对的查询功能 例如 客户端可以使用一个 HTTP GET 请求来查询不同的产品及其关联的数量 客户想要查询金额为 44 的产品 1 和金额为 55 的产品 2 我实际上不希望我
  • Node.js 管道化 HTTP 客户端代理?

    Node js 中内置的 HTTP 客户端似乎不支持管道请求 https stackoverflow com a 5776649 362536 然而 我突然想到 也许可以创建一个Agent https nodejs org api http
  • HTTP 标头中使用的日期/时间格式

    哪个 RFC 描述了现代 HTTP 标头中用于日期 时间的格式 例如 Last Modified 和 If Modified Since 以及如何根据这种格式在 PHP 中生成日期 时间字符串 一些来源指向 RFC 2822 如DateTi
  • 即使禁用缓存,Safari 也会缓存 GET 请求

    我已经将我所知道的所有标头设置为在我的服务器上禁用缓存 甚至禁用 ETAG 但 Safari 仍然偶尔 大约 50 次 缓存我的请求 Workflow 我正在实施 oauth 1 所以 浏览器使GET api user request 服务
  • HTTP 状态 400 验证与验证

    虽然RFC 7231 https www rfc editor org rfc rfc7231目的是为了清晰起见 但它显然给状态代码 400 带来了歧义 请注意这一点所以答案和评论 https stackoverflow com a 329
  • 检测用户是否位于代理后面

    我试图弄清楚如何检测登录我网站的人是否在代理后面 我读到您可以通过可嵌入对象 Flash 和 Java 检测一个人的真实 IP 地址 但是 我实际上无法找到任何示例或来源 我正在使用 PHP 并且我已经阅读了寻找 SERVER HTTP X
  • gradle - 从 url 下载并解压文件

    从 url 下载和解压文件的正确 gradle 方法是什么 http 如果可能的话 我想防止每次运行任务时重新下载 在ant get可以通过以下方式实现skipexisting true 我当前的解决方案是 task foo ant get
  • iPhone Mobile Safari,最大并行 http 连接数是多少?

    我想在 iPhone Mobile Safari OS4 中使用并行 AJAX HTTP 请求 最大并行连接数是多少 如果我没记错的话 Safari 最多使用 4 个到同一服务器的连接 但您可以使用以下命令自行测试这个小测试用例 http
  • C# HttpWebRequest 服务器未返回完整响应

    我正在向返回带有数据的 HTML 的服务器发出 HTTP 请求 但有时它会 停在中间 没有任何明确的解释 例如响应结束 Content length 14336 chars p p br ul ul example com var auth
  • RxJS Angular2 在 Observable.forkjoin 中处理 404

    我目前正在链接一堆 http 请求 但是在订阅之前我无法处理 404 错误 My code 在模板中 service getData subscribe data gt this items data err gt console log
  • Angular 显示每个 HTTP 请求的微调器,只需很少的代码更改

    我正在开发一个现有的 Angular 应用程序 版本是 Angular 4 该应用程序从许多不同的组件对 REST API 进行 HTTP 调用 我想为每个 HTTP 请求显示一个自定义微调器 由于这是一个现有的应用程序 因此有很多地方调用
  • 把自己限制在HTTP1.0有什么用吗?

    我负责构建一些工具来帮助最终用户测试为什么他们的浏览器可能无法与网站配合使用 我被告知它可能不起作用的原因之一是 需要 HTTP1 1 这一行 我浏览了大多数浏览器选项 只浏览了 IE 版本 6 及更高版本 even 9 允许您禁用 HTT
  • 如何从 Kubernetes 服务背后的 HTTP 请求读取客户端 IP 地址?

    我的 Web 应用程序作为 Kubernetes pod 在 SSL 的 nginx 反向代理后面运行 代理和我的应用程序都使用 Kubernetes 服务进行负载平衡 如所述here http blog kubernetes io 201
  • HTTP 查询字符串和 []

    PHP 使用 在查询参数名称中 以确保多次出现的参数都出现在 GET超全局变量 否则只出现最后一次出现的情况 还有其他软件可以做到这一点吗 但从RFC 3986 https www rfc editor org rfc rfc3986 以及
  • 内容长度标头与分块编码

    我正在尝试权衡设置的利弊Content LengthHTTP 标头与使用分块编码从我的服务器返回 可能 大文件的比较 使用持久连接需要其中之一来符合 HTTP 1 1 规范 我看到了的优点Content Length标头是 下载对话框可以显
  • 使用 PushStreamContent 从 HTTPClient 上传

    我想将大量数据上传到网络服务器from客户端机器 我直接跳到 PushStreamContent 这样我就可以直接写入流 因为结果的大小各不相同 并且可能相当大 流程如下 User runs query gt Reader Ready Ev
  • 对过期会话进行休息调用:HTTP 401 响应导致浏览器显示登录窗口

    我编写了一个 HTML 5 应用程序 它使用 AngularJS 并与在 Tomcat 上运行的 Java REST 后端进行交互 我使用 Spring Security 来处理登录和安全性 当用户进入网站时 他将被转发到登录页面 该页面创

随机推荐

  • C语言版通讯录——动态存储(进阶版)

    前言 之前 我出了一期关于通讯录管理系统的项目实现 里面可以实现通讯录人员的增添改查显示以及排序统计功能 但那种只是以静态开辟内存的方式进行编写 大小固定死 若是达到上限便不可以再进行添加 这次优化 我会将静态存储改为动态存储 达到可以永久
  • idea双击启动无效,idea卡顿问题

    idea双击启动无效 大概率是关机时没有正确关闭idea 再次开机导致无法正常启动idea 1 通过任务管理器杀死idea进程后重启idea 2 需要修改配置 打开 以各自电脑实际为准 C Program Files JetBrains I
  • OpenResty简介、编译安装、新增 sticky模块(再编译)、升级

    OpenResty 也被称为 ngx openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台 其内部集成了大量精良的 Lua 库 第三方的Nginx模块和大部分系统依赖包 用于方便地搭建能够处理超高并发 扩展性极高的
  • 找不到boost/noncopyable.hpp问题

    本人在vs2013使用boost库的时候 提示找不到boost noncopyable hpp文件 在百度和贴吧上找了很多资料 安装没出问题 只是在包含include的路径是为D boost 1 56 0 boost 本人将boost库直接
  • c++ 友元

    c 类中可以用friend关键字来声明友元 友元可以是另一个类或者类外的其他函数 友元只具有单向性例如 在类A中将类B声明为友元B可以查看A中的所有成员 而A不能查看B的私有成员 同理将一个函数声明为友元时这个函数也可以访问类中的所有成员
  • 6、微信小程序的布局

    文章目录 前言 一 传统基本布局 1 盒子模型 2 显示方式Display 3 定位position 4 溢出属性Overflow 5 浮动Float 6 对齐 二 Flex弹性布局 1 基本属性 2 使用示例 前言 wxss 指的是 We
  • (转)42个超实用的Google Chrome 插件,值得你拥有,建议收藏!

    每日英文 When friends ignore you don t be sad everyone has his own life who can not always be with you 当朋友忽略你时 不要伤心 每个人都有自己的
  • MySql语句查询某一级节点的所有子节点

    MySql语句查询某一级节点的所有子节点 在日常项目中 我们总能用到树型结构的数据 我们用代码去进行查询是比较麻烦的 这里提供一种sql语句查询父节点和子节点的方法 说明 只能当前节点查出所有子节点 不包含与当前节点平级的节点 且子节点是全
  • 事务,不只ACID

    1 什么是事务 应用在运行时可能会发生数据库 硬件的故障 应用与数据库的网络连接断开或多个客户端端并发修改数据导致预期之外的数据覆盖问题 为了提高应用的可靠性和数据的一致性 事务应运而生 从概念上讲 事务是应用程序将多个读写操作组合成一个逻
  • 微信h5分享好友和朋友圈功能

    在开发公众号H5项目时 如果想和小程序一样有分享朋友圈和好友功能时发现会不一样 开发微信小程序时做分享有会有onShareAppMessage 这个方法 因为H5有许多限制 所以在做微信H5分享时就比较麻烦了 首先明确一点 微信H5分享是没
  • Disruptor 详解

    Disruptor 详解 想了解一个项目 最好的办法就是 把它的源码搞到本地自己捣鼓 在网上看了 N 多人对 Disruptor 速度的吹捧 M 多人对它的机制分析 就连 Disruptor 官方文档中 也 NB 哄哄自诩 At LMAX
  • Netty学习17-Netty的可视化

    学习第41节 Netty 可视化方案 Console 日志定时输出 JMX 实时展示 ELKK TIG etc ChannelHandler Sharable public class MetricsHandler extends Chan
  • 08-----查找某个文件的路径

    1 使用find命令查找 关于find这个命令 非常强大 它可以根据文件大小 属性 用户 文件名等去查找匹配的文件 这里不再解释 这里只是列出常用的方法 查找某个文件并不输出错误 find name GetInfo 2 gt dev nul
  • 【Arthas】Arthas retransform动态重新加载类

    1 概述 转载 Arthas retransform动态重新加载类 2 开篇 Arthas提供retransform命令来重新加载已加载的类 通过该命令可以在有限制的反编译已加载的类重新修改后生成class文件重新加载 在测试环境中可以尝试
  • springboot参数配置

    全局配置文件 application properties 配置文件 先准备两个pojo实体类Pet和Person Component 用于将Person类作为Bean注入到spring容器中 ConfigurationProperties
  • 【js小游戏&案例】纯前端实现飞机大战,附带源码

    技能 使用html js css实现飞机大战小游戏 需求 我军飞机左右移动 并且按空格 可以发射炮弹 敌方飞机从上往下飞 接触到我方炮弹 飞机被歼灭 我军接触到敌军飞机也将会被歼灭 我方飞机吃到道具可以增加弹道 思路 初始化 初始创建我方飞
  • enum一个最不像class的class

    enum一个最不像class的classjava枚举类型是jdk5出现的 它的出现主要为了解决一些有特殊意义 已经确定的 长度不会改变的集合 月份描述 public class Month 月份名称 private final String
  • SpringMVC之JSR303使用及拦截器使用(带你探索SpringMVC的新领域)

    目录 前言 一 探索JSR303的世界 1 JSR303简介 1 1 什么是JSR303 1 2 JSR303的重要性及使用原因 重要性 原因 1 3 JSR303的常用注解 扩展 2 JSR303快速入门 基本使用 2 1 导入依赖 2
  • 【算法】直接插入排序C语言实现

    不知道大家喜不喜欢打扑克 哈哈 我就挺喜欢的 尤其是三人斗地主 很喜欢 现在我来描述一幅画面看看大家熟不熟悉 我抓牌的习惯是 在抓牌的时候 我要看着我的牌 看看牌的状况 有没有大小鬼 有几个2 有没有长的连 顺便做好基本的排序工作 比如我第
  • http 请求报文响应报文的格式以及Token cookie session 区别

    面试必备 http 请求报文响应报文的格式 Token cookie session 区别 http 请求报文响应报文的格式 HTTP 请求报文和响应报文的格式如下 HTTP 请求报文格式 lt 方法 gt lt 路径 gt lt 协议版本