看完这篇文章,你将了解:
1.HTTP 请求包括哪些部分,如何用 Chrome 开发者工具查看 HTTP 请求内容
2.HTTP 响应包括哪些部分,如何用 Chrome 开发者工具查看 HTTP 响应内容
3.如何使用 curl 命令


一. HTTP的请求格式

一个完整的HTTP请求一般由四部分组成,如下(对照图1):

第一部分:动词 路径 协议/版本

第二部分:Key: Value(多行)

第三部分:回车

第四部分:上传数据

第一部分:

  • 动词:常见为POST(上传)和GET(获取)。
  • 路径:是客户端请求的路径
  • 协议/版本:传输该页面所用的网络协议与版本

第二部分:

请求头

第三部分:

  • 存在意义是分隔第2和第4部分,所以回车表示

第四部分:

  • 如果上传请求时上传了数据,这里就是上传的数据
  • 如果无上传数据,这部分就没有,对应图2

二.HTTP的响应格式:

HTTP的响应一般由四部分组成,如下(对照图3):

第一部分:协议/版本 状态码 状态

第二部分:Key: Value(多行)

第三部分:回车

第四部分:响应数据


第一部分:

  • 协议/版本:传输该页面所用的网络协议与版本
  • 状态码:表示网页服务器HTTP响应状态的数字
  • 状态:简单解释状态码含义

第二部分:

响应头

第三部分:

  • 存在意义是分隔第2和第4部分,所以回车表示

第四部分:

  • 响应数据(文本),浏览器以第二部分的Content-Type值决定解读这部分文本的方式

三.使用开发者工具查看请求与响应(以百度为例)

  1. Chrome浏览器打开百度首页
  2. 按F12打开开发者工具
  3. 点击Network
  4. 按F5刷新网页
  5. 选中name下第一个项内容
  6. 点击Headers
  7. 折叠Headers下所有选项组(图4)

8.查看请求:展开Request Headers,点击view Source(图5)

这里我们可以看到请求的前三部分,如果有第四部分,可以展开FormData或Payload查看(图6):

9.查看响应:展开Response Headers,点击View Source(图7)

这里我们可以看到响应的前三部分,如果要查看第四部分,可以点击Response或Preview查看(图8):

四.如何使用Curl命令

以一个例子说明

curl -s -v -- "https://www.baidu.com"   #双引号里边填自己想查看的网址

命令返回的内容,大于号开头为请求,小于号开头为响应