HTTP 413错误表示请求体过大,服务器在链路任一环节(如Nginx、IIS、云网关)拒绝处理,需全链路排查配置并用Postman分档测试验证报错准确性。

Postman 怎么测上传文件大小超限错误
直接用超过服务端限制的文件发请求,看是否返回 413 Payload Too Large 或 400 Bad Request,而不是静默失败或 500。关键不是“能不能传”,而是“报错是否准确、是否可预期”。
- 先确认服务端限制值:Spring Boot 默认是
1MB(spring.servlet.multipart.max-file-size=1MB),Node.js Koa/Express 通常需手动设limits: { fileSize: 10 * 1024 * 1024 },Nginx 还要额外配client_max_body_size - 准备三档测试文件:
999KB(应成功)、1025KB(应触发 413)、0B 空文件(验证空文件逻辑是否被拦截) - Postman 中不要依赖“自动 Content-Type”,手动在 Headers 加
Content-Type: multipart/form-data,否则某些网关会因 boundary 缺失而提前拒绝请求 - 响应体里如果返回 HTML(比如
Request Entity Too Large),说明错误没被后端统一处理,属于隐患
为什么上传 2MB 文件在 Postman 里没报 413
大概率不是后端没限制,而是请求根本没到后端——被前置组件截断了。Postman 本身不限制大小,但中间链路有多个“隐形关卡”。
- Nginx 默认
client_max_body_size是1MB,它会在连接层直接返回 413,不转发给上游,后端日志里完全看不到这次请求 - Cloudflare / API 网关等 SaaS 服务也有默认 body size 限制(常见为 100MB,但免费版可能仅 10MB),需查控制台配额
- Postman 的 “Send and Download” 按钮在响应体过大时会自动截断二进制内容,导致你看到的响应是不完整的,建议改用 “Send” + 查看 “Response” 标签页原始字节流
- 若用 Postman Web 版测试本地
localhost接口,必须启用本地代理(Postman Agent),否则浏览器同源策略可能让大请求直接失败,连 HTTP 状态码都拿不到
怎么用 Postman 验证分片上传的大小阈值
分片上传不是绕过限制,而是把单次请求变小。测试重点不是“能否传完”,而是“分片策略是否与服务端对齐”。
Postman Mac版是一款专为macOS设计的API开发与测试工具,凭借简洁的界面和强大的功能,深受开发者喜爱。它支持发送各种HTTP请求(GET、POST、PUT等),轻松管理接口集合、环境变量和模拟服务器。Mac用户可享受原生性能、快捷键优化及与系统无缝集成的体验,适用于接口调试、自动化测试和文档生成。无论是个人项目还是团队协作,Postman for Mac都能提升API开发效率,是ma
- 服务端通常按
chunkSize(如 5MB)切片,Postman 无法原生分片,但可用 Pre-request Script 模拟首片请求:读取文件前1024*1024*5字节,用pm.sendRequest发送带Content-Range: bytes 0-5242879/10485760的 PATCH 请求 - 关键校验点:第二片请求发送前,服务端是否返回
Upload-ID或upload_key;最后一片是否要求携带upload_complete=true参数 - 故意传一个比
chunkSize小的片(如只传 1KB),看服务端是否拒绝并提示"chunk too small"—— 这类细节常被忽略,但影响客户端容错逻辑 - 不要用整个大文件走 form-data 测试分片接口,那只是在测“单文件上传”,不是“分片上传”
上传大文件时 Postman 卡住或超时怎么办
不是 Postman 崩溃了,是它默认等待响应的方式和大文件上传节奏不匹配。本质是超时配置和底层传输机制没对齐。
- 在 Postman 设置中调高
Request timeout(Settings > General),至少设为预期上传时间的 2 倍(例如 100MB 文件预估 60 秒,timeout 设 120000ms) - 禁用 “Automatically persist cookies” 和 “Send no-cache header”,这些附加行为会干扰长连接稳定性
- 避免在 Tests 标签里写耗时脚本(如 Base64 编码整个文件),Pre-request Script 同理——大文件读取本身就会阻塞 UI 线程
- 真正的大文件(>50MB)建议换
curl或专用工具(如httpie),Postman 的 UI 渲染和内存管理不适合这类场景;把它当“协议验证器”,而非“上传引擎”
实际边界测试中最容易被跳过的,是组合场景:比如上传一个刚好卡在限制边缘的 Excel 文件(10485760 bytes),同时篡改 Content-Type 为 text/plain,再加一个 filename="../../etc/passwd" —— 单测每个点都过,合起来可能就绕过校验。
















