HTTP 请求包含哪些内容,请求头和请求体有哪些类型?

HTTP请求组成 & 请求头、请求体(面试Markdown)

一次完整HTTP请求报文分为4部分:请求行、请求头、空行、请求体

1. 请求行

格式:请求方法 资源路径 HTTP版本

示例:POST /api/user HTTP/1.1

  • 请求方法:GET、POST、PUT、DELETE、PATCH等
  • URL路径:访问的资源地址
  • HTTP版本:HTTP/1.1、HTTP/2、HTTP/3

2. 请求头(Request‑Header)

键值对形式,补充请求元信息,和业务数据无关,描述请求本身。

高频常见请求头

  • Host:请求的目标主机域名/端口,1.1强制必须带
  • User‑Agent:客户端标识,浏览器、设备、客户端版本
  • Content‑Type:最重要,告诉服务器请求体是什么数据格式
  • Accept:客户端能接收服务端返回什么类型响应数据
  • Accept‑Encoding:支持的压缩格式(gzip)
  • Accept‑Language:语言
  • Connection:keep‑alive保持长连接 / close关闭连接
  • Cookie:携带cookie信息
  • Authorization:身份认证token、Bearer令牌
  • Referer:来源页面地址
  • If‑Modified‑Since / If‑None‑Match:缓存协商相关头

3. 空行

分隔请求头和请求体,固定\r\n,必不可少。

4. 请求体(Request Body)

存放业务提交的数据。

⚠️ GET请求没有请求体,虽然语法可以写,但规范不建议,参数放URL查询参数。POST/PUT/PATCH才会使用请求体。


请求体常见Content‑Type类型(面试重点)

1. application/x‑www‑form‑urlencoded

  • 默认表单格式
  • 数据格式:name=zhangsan&age=20 key=value&拼接
  • 特点:普通form表单不设置enctype默认就是这个;不适合传二进制文件;中文会url编码。

2. multipart/form‑data

  • 用于文件上传
  • 会用随机boundary字符串做分隔符,分割多个字段,可以同时传普通参数+二进制文件。
  • 文件上传接口必须用这个类型。

3. application/json(后端最常用)

  • JSON字符串格式:{"name":"zhangsan","age":20}
  • Restful接口主流格式,支持复杂嵌套对象。

4. text/xml

xml格式数据,现在互联网项目很少使用,老系统、第三方对接偶尔见到。

小结三个最常考:

  1. x‑www‑form‑urlencoded:普通表单键值对
  2. multipart/form‑data:文件上传
  3. application/json:json rest接口

面试口述版本

HTTP请求报文分为四部分:请求行、请求头、空行、请求体。

请求行包含请求方法、访问路径、HTTP版本。

请求头是一堆键值对,描述请求的附加信息,比如Host、User‑Agent、Authorization、Cookie,最重要的是Content‑Type,用来标识请求体的数据格式。

空行用来分隔请求头和请求体。

请求体存放业务数据,GET一般没有请求体,POST/PUT使用。

请求体常见三种类型:

application/x‑www‑form‑urlencoded是普通表单,key&value格式;

multipart/form‑data用于文件上传;

application/json是现在前后端分离最常用的JSON格式。

相关推荐
虎头金猫12 分钟前
从上传PPT到观众远程打开互动页面:Claper在CentOS 7上的Docker部署、互动组件设置与固定访问地址实战
linux·运维·网络·人工智能·docker·centos·powerpoint
weixin_5118404731 分钟前
2026年10月14日 Cisco and Nvidia 联合 USFP 调研报告
网络·人工智能·市场分析
AI备忘录38 分钟前
(二十五)华为华三锐捷迈普思科 ERPS 环网保护配置命令(G.8032 五厂商对照)
运维·服务器·网络·网络协议·华为
木由里予1 小时前
NAND 这门生意
运维·服务器·网络·单片机
听说6661 小时前
信息安全工程师 - 第二十三章 云计算安全需求分析与安全保护工程
网络·安全·web安全·网络安全·云计算·系统安全
4SAPI1 小时前
System Prompt、Function Calling跨模型适配问题分析
网络·人工智能·prompt
izcll1 小时前
网络问题排查
网络
事圆则缓1 小时前
HTTP 请求是怎么走的:从 Android 页面到服务端响应
android·网络协议·http
0+1111 小时前
Linux --HTTPS协议原理
网络协议·http·https
hellojackjiang20112 小时前
IM聊天不掉线?生产级WebSocket断线重连、心跳保活实战
websocket·网络协议·网络编程·html5·即时通讯·im