В HTTP впервые за 20 лет появился новый метод

Скорее всего, вы уже делали это раньше.

Вам нужно найти товары. Фильтры поиска слишком велики для URL. Чтобы решить эту проблему, вы используете POST-запрос.

Это работает. Но это обман. Вы сообщаете HTTP, что изменяете данные, хотя на самом деле только читаете их.

В июне 2026 года IETF опубликовала RFC 10008. В ней определяется новый HTTP-метод под названием QUERY. Это первый новый метод за более чем два десятилетия. Он решает именно ту проблему, которая была упомянута выше.

Текущая проблема

GET отлично подходит для чтения данных. Он безопасен и кэшируемый. Но он не может содержать тело запроса. Кроме того, URL имеют ограничения по количеству символов.

POST передает тело. Но HTTP предполагает, что POST изменяет состояние. Это означает, что вы теряете автоматическое кэширование и возможность безопасных повторных попыток. Если POST-запрос завершился по таймауту, вы не можете просто отправить его снова. Вы не знаете, изменил ли сервер что-то на самом деле.

Решение: QUERY

QUERY — это GET-запрос с телом. Он дает две гарантии:

  • Он безопасен. Он не изменяет данные.
  • Он идемпотентен. Отправка запроса дважды дает тот же результат, что и отправка один раз.

Как использовать это сегодня

Вы можете использовать это прямо сейчас с помощью Axios или Fetch.

Пример с Axios:

axios.request({
  method: 'QUERY',
  url: '/api/products',
  data: { category: 'shoes', maxPrice: 100 }
})

Пример с Fetch:

fetch('/api/products', {
  method: 'QUERY',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ category: 'shoes', maxPrice: 100 })
})

Чего ожидать дальше

Переход не произойдет в одночасье. Вот дорожная карта:

  • Инфраструктура: Nginx и Apache будут пропускать такие запросы. Возможно, вам потребуется обновить ваш WAF или правила безопасности, чтобы разрешить метод QUERY.
  • Фреймворки: Ожидайте, что Spring, Rails и Express добавят нативную поддержку в течение 2026 и 2027 годов.
  • CDN: Поскольку инженеры из Cloudflare и Akamai помогали в написании этого стандарта, ожидайте быстрой поддержки со стороны CDN. Это значительно упростит кэширование.

Почему это важно для вашего кода

  1. Автоматические повторные попытки: Поскольку QUERY идемпотентен, мобильные приложения и клиенты могут безопасно повторять неудавшиеся запросы.
  2. Улучшенное кэширование: CDN могут кэшировать ответы QUERY на основе тела запроса. Вы сможете удалить свои самописные слои кэширования на Redis.
  3. Более чистые URL: Вам больше не нужно впихивать сложные JSON-объекты в параметры запроса URL.
  4. Семантичные API: Документация вашего API станет понятнее. Разработчики будут точно знать, какие эндпоинты читают данные, а какие — записывают.

Подготовьте свою команду, проведя аудит текущих POST-эндпоинтов. Определите те, которые только читают данные. Это ваши будущие QUERY-эндпоинты.

Source: https://dev.to/andresclua/http-just-got-its-first-new-method-in-20-years-heres-why-you-should-care-2h5p