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格式。

相关推荐
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
wuyk5553 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
XUEYUAN52123 天前
ASN 自治系统号风控:平台如何通过 IP 所属自治域批量识别代理流量
python·网络协议·http·网络安全·socks5
QYRdata3 天前
年均增速24.2%!机器人数据湖未来六年增长动能强劲
网络·机器人·服务发现
CHENKONG_CK3 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
chshang19923 天前
工业路由器是什么?浅谈5G工业网络中的IR602
网络·物联网·5g·智能路由器
萧瑟余晖3 天前
Netty 核心组件与 Reactor 模型详解
网络·架构
ITxiaobing20233 天前
IP 定位服务选型指南:从准确率到工程落地的技术考察
linux·服务器·网络
wuyk5553 天前
【Socket 进阶之路】第 9 章 Linux 网络服务量产稳定性优化|心跳保活、TIME_WAIT、SO_LINGER、内存池、断线重连、完整异常防护框架
linux·服务器·开发语言·网络·物联网
z落落3 天前
C#UDP+串口服务端+UDP 客户端(含 CRC16 校验)
网络·网络协议·udp