JSON-RPC

Упрощённый протокол удалённого вызова процедур (RPC) без сохранения состояния. Безопасности нет, нужно реализовывать при проектировании
Схож с gRPC, но вместо специализированных форматов использует общий - JSON, что делает его легко используемым на любом ЯП. Не может использоваться в формате потока (streaming) И потребляет много ресурсов из-за парсинга JSON.
Не имеет встроенного TLS, mTLS - приходится реализовывать вручную
Оперирует методами/функциями. URL обычно один, в теле запроса указывается метод.

Пример: POST request
{
"jsonrpc": "2.0",
"method": "subtract",
"params": [42, 23],
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"result": 19,
"id": 1
}
jsonrpc и id - обязательные поля
Возвращает либо result, либо error