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

面试必备

  • [http 请求报文响应报文的格式](#http 请求报文响应报文的格式)
  • [Token cookie session 区别](#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是一种在服务器端保存状态信息的机制。它们在实现上有所不同,适用于不同的场景和需求。
相关推荐
原来是猿12 小时前
TCP Echo Server 深度解析:从单进程到线程池的演进之路(上)
服务器·网络·tcp/ip
小新同学^O^13 小时前
简单学习 --> TCP协议
java·网络·tcp
其实防守也摸鱼13 小时前
软件安全与漏洞--软件安全设计
运维·网络·安全·网络安全·密码学·需求分析·软件安全
一只数据集13 小时前
NVIDIA Nemotron AIQ Agentic Safety Dataset:面向企业级智能体系统的安全与防护评估数据集全面解析
网络·数据库·安全
你的保护色13 小时前
软件定义网络SDN
网络
艾莉丝努力练剑14 小时前
【Linux网络】Linux 网络编程入门:TCP Socket 编程(下)
linux·运维·服务器·网络·c++·tcp/ip
w1wi14 小时前
【Vibe Coding】TCP/UDP包篡改重放工具
人工智能·网络协议·tcp/ip·ai·udp·ai编程
treesforest14 小时前
IP地址段查询完全指南:从单IP查到IPv4段批量归属地查询
网络·数据库·网络协议·tcp/ip·网络安全·运维开发
wangl_9214 小时前
Modbus RTU 与 Modbus TCP 深入指南-字节顺序与跨平台问题
网络·网络协议·tcp/ip·tcp·modbus·rtu
敲敲千反田14 小时前
ThreadLocal和CompletableFuture
java·网络·jvm