Если вам казалось, что в HTTP уже давно ничего не меняется — есть интересная новость.
В июне 2026 года IETF опубликовала RFC 10008, официально стандартизировав новый HTTP-метод — QUERY. (mailarchive.ietf.org)
На первый взгляд кажется: «Еще один метод? Зачем?»
На самом деле он закрывает проблему, с которой разработчики API жили десятилетиями.
Что было раньше?
Есть GET.
Он:
безопасный (не изменяет состояние сервера);
идемпотентный;
хорошо кешируется.
Но есть ограничение — все параметры запроса приходится передавать в URL.
Когда фильтров становится много, появляются конструкции вроде:
GET /products?category=books&priceMin=100&priceMax=500&author=...&publisher=...&sort=rating&...
Или еще хуже — десятки параметров, массивы, вложенные объекты.В какой-то момент все переходят на
POST:POST /products/search
{
"category": "books",
"price": {
"min": 100,
"max": 500
},
"sort": "rating"
}
Хотя запрос ничего не изменяет.В чем проблема POST?
С точки зрения HTTP,
POST предназначен для операций, которые могут изменять состояние сервера.Из-за этого:
кэширование работает хуже;
промежуточные прокси относятся к запросу осторожнее;
повторная отправка запроса считается потенциально опасной.
То есть разработчики использовали
POST не потому, что он семантически правильный, а потому что другого варианта не существовало.Что предлагает QUERY?
Новый метод сочетает преимущества обоих подходов:
✅ тело запроса, как у
POST;✅ безопасная операция, как у
GET;✅ идемпотентность;
✅ возможность корректного кэширования и безопасного повторения запроса.
Пример:
QUERY /products
{
"category": "books",
"price": {
"min": 100,
"max": 500
},
"sort": "rating"
}
Именно такую семантику многие API фактически использовали через POST последние 15–20 лет.Где это пригодится?
Практически везде, где есть сложные запросы:
поиск;
фильтрация;
аналитические API;
GraphQL;
отчеты;
большие JSON-фильтры.
Можно ли использовать уже сейчас?
Пока — с осторожностью.
Стандарт уже принят, но экосистема только начинает его поддерживать. Фреймворки, API-шлюзы, браузеры, прокси и облачные сервисы постепенно добавляют поддержку
QUERY. Поэтому для публичных API сегодня по-прежнему чаще используются привычные GET и POST. (mailarchive.ietf.org)Но через несколько лет вполне вероятно, что большинство endpoint'ов вида:
POST /search
POST /query
POST /filter
переедут на:QUERY /search
QUERY /products
QUERY /orders
Пожалуй, это одно из самых заметных изменений HTTP со времен появления PATCH.