http/post/multipart/form-data/boundary

来自运维百科
板板讨论 | 贡献2025年6月21日 (六) 10:59的版本 (创建页面,内容为“boundary 的作用详解(用于 multipart/form-data)​​ == ​​1. 核心作用​​ == boundary 是 ​​multipart/form-data​​ 请求中的关键分隔符,用于: ​​划分表单数据的不同部分​​(如文本字段、文件等) ​​确保数据完整性​​,防止内容混淆 ​​被服务器解析​​,以正确提取每个字段的数据 == ​​2. 工作原理​​ == ​​格式​​:由 -- 开头 + 自…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

boundary 的作用详解(用于 multipart/form-data)​​

​​1. 核心作用​​

boundary 是 ​​multipart/form-data​​ 请求中的关键分隔符,用于:

​​划分表单数据的不同部分​​(如文本字段、文件等)

​​确保数据完整性​​,防止内容混淆

​​被服务器解析​​,以正确提取每个字段的数据

​​2. 工作原理​​

​​格式​​:由 -- 开头 + 自定义字符串(如 ----WebKitFormBoundaryABC123)

​​位置​​:

在 Content-Type 头中声明(如 multipart/form-data; boundary=xxxx)

在请求体中作为实际分隔符使用

​​结构规则​​: --{boundary} // 开始一个字段

--{boundary}-- // 结束整个请求体

​​3. 实际示例解析​​

以下是一个包含文本字段和文件上传的请求体:

POST /upload HTTP/1.1
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryABC123

----WebKitFormBoundaryABC123
Content-Disposition: form-data; name="username"  // 文本字段

admin
----WebKitFormBoundaryABC123
Content-Disposition: form-data; name="avatar"; filename="photo.jpg"  // 文件字段
Content-Type: image/jpeg

[binary file data...]
----WebKitFormBoundaryABC123--  // 结束标记