Как выполнить идемпотентный HTTP-запрос с данными, которые не помещаются в URL? - PullRequest
1 голос
/ 13 июля 2010

Таким образом, ограничение URL-адресов в 255 символов слишком короткое для меня, и я не хочу полагаться на его игнорирование.

Мой запрос ничего не изменит на стороне HTTP-сервера.Мне нужно отправить некоторые данные с запросом, размер которых немного больше 1024 символов и НЕ носит секретный / безопасный характер.Сервер будет использовать данные для проверки в базе данных и вернет результат этой проверки, но ничего не изменится.Таким образом, запрос считается идемпотентным.В псевдокоде клиент вызывает RPC:

int verify_data(char[>1024] data)

Могу ли я использовать POST или это нарушит принципы REST и другого хорошего HTTP-клиент / серверного дизайна?Я, очевидно, не могу использовать GET?

Ответы [ 2 ]

1 голос
/ 06 ноября 2012

У меня похожая проблема

Возможно, использование PUT - лучшая альтернатива.Я имею в виду, что в соответствии с принципами REST PUT также должен быть идемпотентной операцией (чтобы серверы могли ее кешировать), и у вас нет ограничения размера GET

0 голосов
/ 13 июля 2010

Какова максимальная длина URL в разных браузерах?

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

...