← 中文资源

简体中文版本

HTTP 414 URI Too Long

修复 HTTP 414:查询串或 URL 超过服务器上限时,把大体积数据从 URL 移入请求正文。

阅读英文原文

症状

请求失败并报 414 URI Too Long。通常涉及很长的查询串,例如大量 id 或序列化对象,且可能只在限制更严的代理之后失败。

诊断

测量 URL 长度并定位限制方:

# compare origin vs proxy
curl -sv "http://127.0.0.1:8080/search?ids=$(seq -s, 1 5000)" -o /dev/null

检查数据来源;分页与过滤条件有时会无界增长。

修复

把大体积数据移入正文:

POST /search
Content-Type: application/json

{ "ids": [1, 2, 3], "filters": { "status": "active" } }

限制单次请求的 id 数量。

验证

以正文承载负载重新发送;响应为 200,且实测 URL 长度远低于限制,确认数据不再压垮请求行。