Отправка данных POST с помощью запроса GET?

Используя Curl, например, я могу "отправить" данные в GET-запрос. Это правильная вещь? Под этим я подразумеваю:

  • Не запрещено ли какой-либо спецификацией RFC?
  • Кто-то там использует это с полным основанием?

Спасибо за любую помощь.

Ответ 1

См. RFC2616 - Протокол передачи гипертекста - HTTP/1.1, раздел 4.3 "Тело сообщения":

Тело сообщения НЕ ДОЛЖНО быть включено в запрос, если спецификация метода запроса (раздел 5.1.1) не позволяет отправлять тело объекта в запросы.

В разделе 9.3 "GET", включая тело сущности, не запрещается.

Итак, да, вы можете отправить тело сущности с запросом HTTP GET.

Ответ 2

Существует вариант использования "хорошей причины".

elasticsearch использует данные сущности-тела в запросах GET, чтобы попытаться использовать глагол GET в качестве чтения, а также позволяет более сложную спецификацию, чем только один URL (легко).