RFC 10008: Новый метод HTTP QUERY
Разработчики сталкиваются с проблемой при получении сложных данных. Вы хотите использовать GET, но у него есть ограничения. Вы хотите использовать POST, но это неподходящий инструмент для такой задачи. RFC 10008 предлагает новое решение: метод QUERY.
Текущие сложности с GET:
- Ограничения URL: Браузеры и серверы ограничивают длину URL. Большие фильтры ломают ваши запросы.
- Неудобная структура: GET использует простые пары «ключ-значение». Отправлять вложенные JSON-объекты сложно.
- Риски конфиденциальности: Параметры запроса отображаются в логах сервера и истории браузера.
Текущие сложности с POST:
- Неверная семантика: POST сообщает серверу, что вы хотите создать или изменить данные.
- Проблемы с кэшированием: Большинство систем не кэшируют POST-запросы. Это замедляет работу вашего приложения.
Метод QUERY меняет ситуацию. Он позволяет отправлять тело запроса для получения данных. Это сохраняет чистоту вашего API и соответствует правилам.
Преимущества метода QUERY:
- Использование сложных тел запросов: Вы можете отправлять полноценные JSON-объекты для фильтров поиска.
- Безопасность: Он не изменяет состояние сервера.
- Повышение скорости: Он позволяет эффективно кэшировать данные, как и метод GET.
Перестаньте заставлять POST выполнять работу GET. Метод QUERY предоставляет способ получения сложных данных, не нарушая стандартов HTTP.
Источник: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-rfc-10008-the-new-http-query-method-25fo