http报头解析

http报文

http报文主要有两类是常见的,第一类是请求报文,第二类是响应报文,每个报头除了第一行,都是采用键值对进行传输数据,请求报文的第一行主要包括http方法(GET,PUT, POST),请求资源的url,http协议版本。响应报文第一行是状态行,它包括http协议版本,状态码(200表示成功,404表示没有找到等),状态消息(如OK,Not found等)

请求报文一般是客户端发送给服务端的,表示要请求的资源,响应报文一般是服务端给客户端的,返回对应的资源。

请求报文

Host:指定请求的服务器的域名和端口号。

User-Agent:包含了发出请求的浏览器类型、版本和操作系统信息。

Accept:浏览器能够处理的媒体类型。

Accept-Language:浏览器偏好的语言。

Accept-Encoding:浏览器能够处理的压缩算法。

Connection:管理持久连接,如 keep-alive。

Cookie:存储在用户本地的会话信息。

Authorization:用于HTTP认证的凭证信息。

Content-Length:请求正文的长度。

Content-Type:请求正文的媒体类型。

但是需要注意的是,这些字段不一定都是全部都有的,发送方会根据自己的需求进行取舍,行与行之间是用过"\r\n"进行隔开,而报头和正文是通过"/r/n/r/n"就是两行换行进行隔离

这就是一个经典的例子

下面是几个请求方法不同

  1. GET

    • 用于请求从服务器检索特定资源。
    • 应该只用于获取数据,不应产生服务器上的状态变化。
    • 幂等的,意味着多次执行相同的GET请求应该得到相同的结果,且不会影响资源的状态。
    • 通常用于数据查询。
  2. POST

    • 用于向服务器提交数据进行处理请求,例如提交表单或上传文件。
    • 可以导致新资源的创建或现有资源的修改。
    • 不是幂等的,因为多次执行相同的POST请求可能会导致资源状态的不同变化。
    • 通常用于创建新资源。
  3. PUT

    • 用于上传文件或发送数据给服务器以创建新的资源或替换已存在的资源。
    • 如果资源不存在,则创建资源;如果资源已存在,则替换资源。
    • 幂等的,多次执行相同的PUT请求应该得到相同的结果。
    • 通常用于更新现有资源。

响应报文

Content-Type:响应正文的媒体类型。

Content-Length:响应正文的长度。

Set-Cookie:服务器发送给客户端的会话信息。

Cache-Control:控制响应的缓存行为。

Expires:响应过期的时间。

Last-Modified:资源最后被修改的时间。

ETag:资源的特定版本标识。

Server:服务器软件名称。

Location:用于重定向的URL。

WWW-Authenticate:用于HTTP认证的挑战信息。

但是需要注意的是,这些字段不一定都是全部都有的,发送方会根据自己的需求进行取舍,行与行之间是用过"\r\n"进行隔开,而报头和正文是通过"/r/n/r/n"就是两行换行进行隔离,其中Content-Length是不包括报头长度

相关推荐
云飞云共享云桌面10 分钟前
单机建模卡顿运维繁琐!中小型机械制造厂云飞云 3D 云桌面落地
运维·服务器·网络·3d·自动化·电脑·负载均衡
mounter62526 分钟前
BPF 的进化史:从网络过滤器到 AI 时代的 Linux 核心引擎
linux·网络·人工智能·ebpf·linux kernel·kernel
CryptoPP33 分钟前
BSE股票K线数据接入实战:从接口调用到前端图表展示
大数据·前端·网络·人工智能·websocket·网络协议
ITxiaobing202334 分钟前
程序化广告RTB场景下IP地理定位服务的精度与工程架构选型
网络协议·tcp/ip·架构
液态不合群1 小时前
卡死在生产流程?AI破解制造业数字化落地顽疾
网络·人工智能·低代码·重构
技术不好的崎鸣同学2 小时前
Windows 命令提示符(CMD)恶意脚本分析篇
网络·windows·安全·系统安全
m0_715674432 小时前
2026年医疗行业数据库风险监测产品综合能力排名分析
网络·数据库
阿米亚波4 小时前
【EVE-NG 实战】防火墙基础(VLAN · VRRP · NAT · ACL · 静态路由)
运维·网络·笔记·网络协议·计算机网络·网络安全·运维开发
零意@4 小时前
海光平台debian11的系统,打开pstore功能和验证功能
网络
blueman88884 小时前
qt5-serialbus详细解析
开发语言·网络·qt