Как стать автором
Обновить

Комментарии 7

какие-то API полагаются на стандартную семантику HTTP, а какие-то полностью от неё отказываются
Просто какие-то API гвоздями прибиты к HTTP, а какие-то могут использоваться с любым транспортным протоколом. Тот же JSON-RPC может передаваться любым транспортом, в том числе и асинхронным. Отсюда и собственная система ошибок, и поле идентификатора сообщения.
JSON-RPC допускает, например, что клиент отправляет пакет из нескольких запросов одним сообщением, а ответы получает в разных сообщениях и в разное время. Или наоборот, ответы на запросы из разных сообщений приходят одним пакетом.

Я думаю количество реальных систем, использующих JSON-RPC на чистых сокетах, вряд ли превышает количество пальцев на моей левой руке.

Не обязательно чистые сокеты. WebSocket — вполне себе асинхронный транспорт.

Это и есть чистый сокет.

Нет, чистый сокет — это совсем неструктурированные пакеты. У WebSocket есть определённая внутренняя структура.

Статью надо было назвать "Блеск и нищета http rest api" ¯\_(ツ)_/¯

по поводу bad request - все очень просто.

Если у вас сотня ошибок, на которые фронт должен реагировать своеобразно - то никаких http кодов вам не хватит. Тем-более что-бы они адекватно сочетались.

по поводу jsonrpc верно сказали выше - транспорт может быть любым. По этому в теле

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории