New method
Meet HTTP QUERY
QUERY is a safe, idempotent method that carries a request body — essentially a “GET with a body”. It lets complex query criteria live in the request body instead of a bloated URL, without misusing POST whose semantics don’t fit querying.
/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}Same search, four ways
The same product search, four ways:
| Capability | GET · URL | GET · body | POST | QUERY |
|---|---|---|---|---|
| Request body | none | undefined · avoid | JSON | JSON |
| Safe (no side effects) | ✓ | ✓ | ✗ | ✓ |
| Idempotent | ✓ | ✓ | ✗ | ✓ |
| Cacheable response | ✓ | ~unreliable · undefined | ~no by default · needs explicit | ✓via Content-Location |
| Filters kept out of the URL | ✗ | ✓ | ✓ | ✓ |
| Immune to URL length limits | ✗~2KB cap | ✓ | ✓ | ✓ |
| Standardized & supported | ✓ | ✓ | ✓ | ~new RFC · adoption early |
Keep exploring
Methods
Semantics, safety, idempotency and caching of GET / POST / PUT / PATCH / DELETE / HEAD / OPTIONS and the new QUERY method.
Playground
Pick a method, add a body, and fire a real request at a same-origin echo endpoint to see exactly how methods like QUERY are received.
Status Codes
Browse common status codes grouped 1xx–5xx, each with a real HTTP message example.