HTTPQUERY

学习 · 测试 · 验证 HTTP —— 方法(含新方法 QUERY)、状态码与实时请求

English
新方法

认识 HTTP QUERY

QUERY 是一个安全、幂等、可携带请求体的查询方法 —— 相当于“带 body 的 GET”。它让复杂的查询条件放进请求体,而不必塞进超长 URL,也不必借用语义并不匹配的 POST。

/api/echo
→ request
QUERY /productsNEWAccept: application/jsonContent-Type: application/json {  "category": "boots",  "inStock": true}
← response
200 OKContent-Location: /products?…Cache-Control: max-age=60 {  "results": 42,  "cacheable": true}

同一搜索,四种实现

同一个商品搜索,四种实现方式的对比:

能力GET · URLGET · bodyPOSTQUERY
请求体 (Request body)语义未定义 · 应避免JSONJSON
安全 Safe(无副作用)
幂等 Idempotent
响应可缓存 Cacheable~不可靠 · 未定义~默认否 · 需显式声明经 Content-Location
过滤条件不进 URL
不受 URL 长度限制~2KB 上限
已标准化并广泛支持~新 RFC · 采用早期

继续探索