HTTP 协议的基本格式和 fiddler 的用法

在 Web 开发和接口调试中,HTTP 协议是最基础也是最重要的通信协议,而 Fiddler 则是一个非常实用的抓包与调试工具。本文将从 HTTP 协议的基本格式讲起,再结合 Fiddler 的实际使用,帮助初学者快速理解网络请求的工作过程。

一、HTTP 协议简介

HTTP(HyperText Transfer Protocol,超文本传输协议)是浏览器与服务器之间通信的规则。我们平时访问网页、调用接口、下载图片,本质上都是在发送 HTTP 请求并接收 HTTP 响应。HTTP 通信由两部分组成:HTTP 请求(Request)和 HTTP 响应(Response)。

二、HTTP 请求的基本格式

一个 HTTP 请求通常由以下四部分组成:

  1. 请求行(Request Line)

  2. 请求头(Request Headers)

  3. 空行

  4. 请求体(Request Body,可选)

1. 请求格式示例

2. 各部分说明

(1)请求行

表示:

  • POST:请求方法(GET、POST、PUT、DELETE 等)

  • /login:请求资源路径

  • HTTP/1.1:HTTP 协议版本

(2)请求头

用于描述客户端信息和请求内容,例如:

  • Host:服务器域名

  • Content-Type:请求体的数据类型

  • Content-Length:请求体长度

(3)空行

请求头和请求体之间必须有一个空行,用来分隔两部分。

(4)请求体

主要用于 POST、PUT 等请求,携带提交的数据。

三、HTTP 响应的基本格式

HTTP 响应也由四部分组成:

  1. 状态行(Status Line)

  2. 响应头(Response Headers)

  3. 空行

  4. 响应体(Response Body)

1. 响应格式示例

2. 各部分说明

(1)状态行

表示:

  • HTTP/1.1:协议版本

  • 200:状态码

  • OK:状态描述

常见状态码

状态码 含义
200 请求成功
301 永久重定向
404 资源不存在
500 服务器内部错误

(2)响应头

描述服务器返回的数据类型、长度等信息。

(3)响应体

真正返回给客户端的数据,例如 HTML 页面、JSON 数据、图片等。

四、Fiddler 工具简介

Fiddler 是一款常用的 HTTP 抓包与调试工具,可以帮助开发者查看浏览器与服务器之间的所有 HTTP/HTTPS 请求和响应。

Fiddler 的主要功能

  1. 抓取 HTTP/HTTPS 请求

  2. 查看请求头、请求体、响应头、响应体

  3. 模拟接口请求

  4. 修改请求或响应数据

  5. 分析接口性能与错误

五、Fiddler 的基本使用方法

1. 安装与启动

下载安装 Fiddler 后,双击启动即可。启动后,Fiddler 会自动成为系统代理,开始捕获网络请求。

2. 抓取 HTTP 请求

  1. 打开 Fiddler。

  2. 打开浏览器访问一个网站,例如 https://www.baidu.com

  3. 在 Fiddler 左侧会看到捕获到的请求列表。

3. 查看请求与响应详情

点击某个请求后,右侧会显示详细信息:

  • Inspectors → Headers:查看请求头和响应头

  • Inspectors → TextView / JSON:查看请求体和响应体内容

  • Inspectors → Raw:查看原始 HTTP 报文

例如在 Raw 中可以直接看到完整的 HTTP 请求格式:

4. 过滤请求

在左侧请求列表中,请求很多时可以使用过滤功能:

  • 点击右侧 Filters。

  • 勾选 Use Filters。

  • 可以按域名、状态码、请求方法等进行过滤。

5. 模拟接口请求(Composer)

Fiddler 还可以手动发送 HTTP 请求:

  1. 点击右侧 Composer。

  2. 输入请求 URL,例如:

  3. 选择请求方法(GET、POST 等)。

  4. 填写请求头和请求体。

  5. 点击 Execute 发送请求。

这样可以方便地测试后端接口,而不需要专门写前端页面。

六、Fiddler 抓包 HTTPS 的设置

默认情况下,HTTPS 请求内容是加密的,需要开启解密功能。

操作步骤

  1. 打开 Tools → Options → HTTPS。

  2. 勾选 Decrypt HTTPS traffic。

  3. 首次勾选时会提示安装证书,点击确认即可。

完成后,Fiddler 就可以查看 HTTPS 请求的详细内容了。

七、HTTP 与 Fiddler 的实际应用场景

1. 调试接口

后端接口返回错误时,可以通过 Fiddler 查看:

  • 请求参数是否正确

  • 请求头是否缺失(如 Token)

  • 服务器返回的错误信息

2. 学习 HTTP 协议

通过抓包可以直观看到:

  • 浏览器发送了什么请求

  • 服务器返回了什么响应

  • Cookie、Session、Token 等如何传递

3. 性能分析

Fiddler 可以查看每个请求的耗时,帮助分析页面加载慢的原因。

八、总结

本文介绍了 HTTP 协议的基本格式以及 Fiddler 的常用功能。

核心知识回顾

  1. HTTP 请求格式:请求行 + 请求头 + 空行 + 请求体

  2. HTTP 响应格式:状态行 + 响应头 + 空行 + 响应体

  3. Fiddler 的作用:抓包、查看 HTTP 报文、调试接口、分析请求

  4. 常用功能:Inspectors、Filters、Composer、HTTPS 解密

掌握 HTTP 协议和 Fiddler 的使用,是学习 Web 开发、后端开发和接口调试的重要基础。

相关推荐
hai3152475432 小时前
九章编程法 · HTTP转发代理网关【终极完美版·矩阵步进交换】
人工智能·网络协议·线性代数·http·矩阵·极限编程
顾喵3 小时前
VME总线详解:原理、架构、时序、协议、迭代、调试与实战应用
linux·网络协议
Patrick_Wilson4 小时前
从「框架内部报错」到「请求头被网关截断」:一次 Sentry 排障与前端 Cookie 误用复盘
前端·http·浏览器
qiuziqiqi5 小时前
webman的消费脚本进程中http请求的选择
网络·网络协议·http
努力成为AK大王5 小时前
TCP协议核心特点与首部详解
网络·网络协议·tcp/ip
light_in_hand5 小时前
HTTPS 加密流程总结
网络协议·http·https
之歆6 小时前
Node.js HTTP 模块深度解析与实战指南
网络协议·http·node.js
潜创微科技6 小时前
ITE IT920X 4K60 HDMI+USB over IP 远距离传输与视频墙单芯片方案
网络协议·tcp/ip·音视频
Zhan8611246 小时前
深夜调试法国行情数据API接口的教训:法国CAC40指数WebSocket接入复盘
websocket·网络协议·php