新的 HTTP 方法 QUERY:十六年来 HTTP 动词家族的首次创新
来源:dev.to — 2026-06-28 — 8 min
📋 概述
开发者用 REST API 处理复杂查询时长期面对两难:GET 语义正确但无法携带请求体、URL 长度受限、复杂过滤与 SQL 难以编码,且参数会暴露在日志中;POST 能带任意请求体,却违反幂等语义、没有标准缓存且代理无法安全重试。2026 年 6 月 IETF 发布 RFC 10008,定义了十六年来的首个新标准方法 QUERY——本质上是「带请求体的 GET」,结合了两者优点:无 URL 长度限制、幂等可重试、支持标准缓存与代理语义。文章详细给出了 curl、axios 与原生 fetch 的用法,并提醒网关、代理与语言 SDK 的兼容性现状。
🔑 核心要点
- QUERY 是自 PATCH(2010)以来 HTTP 首个新标准方法,2026 年 6 月经 RFC 10008 正式发布。
- 它本质是「带请求体的 GET」:无 URL 长度上限,请求体可承载 SQL、JSONPath 等复杂过滤表达式。
- 相比 POST,QUERY 幂等且可安全重放,支持标准 HTTP 缓存,代理能明确知道可否拒绝或重试。
- curl、axios、原生 fetch 均可直接使用自定义方法,无需插件即可发出 QUERY 请求。
- 采用前需评估网关、代理、CDN 与各语言 SDK 对 QUERY 的兼容性,避免部署后失效。
💡 金句
过去十六年我们一直在 GET 与 POST 之间做「干净语义」与「真实载荷」的二选一,QUERY 终于终结了这道伪命题。
👍 0
👎 0
← 返回 dev.to 首页