http/post/multipart/form-data/boundary
来自运维百科
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-- // 结束标记