HTTP 二十年来首个新方法 QUERY:让「假装是 POST 的搜索」回归正位
来源:dev.to — 2026-07-03 — 7 min
📋 概述
当查询太大塞不进 URL 时,我们习惯用 POST,它虽能工作却是一场谎言——我们告诉 HTTP「这会修改状态」,实际并没有。2026 年 6 月 IETF 发布 RFC 10008,定义新方法 QUERY,这是二十多年来 HTTP 的第一个新方法,恰好解决了这个问题。GET 安全、幂等、可缓存,但无法携带请求体且 URL 有长度限制;POST 能带任意请求体,但 HTTP 假定它会改变状态,于是没有自动缓存、不能安全重试。QUERY 就是「带请求体的 GET」,兼具干净语义与真实载荷。文章用 axios 与原生 fetch 演示了用法(无需插件,axios 会把自定义方法透传给底层 HTTP 客户端),并说明服务器执行查询后如何返回结果。
🔑 核心要点
- QUERY 是 RFC 10008(2026 年 6 月)定义的新方法,二十多年来 HTTP 动词家族的首次新增。
- GET 安全幂等可缓存但无请求体、URL 受限;POST 能带大请求体却破坏幂等与缓存语义。
- QUERY 即「带请求体的 GET」,同时拥有干净语义与真实载荷,可安全重试并支持缓存。
- axios 会透传任意自定义方法,原生 fetch 亦可用,均无需插件即可发起 QUERY。
💡 金句
过去二十年我们被迫在「干净的语义」和「真实的载荷」之间二选一,QUERY 结束了这场妥协。
👍 0
👎 0
← 返回 dev.to 首页