HTTP против RemoteProcedureCalls

У меня быстрый вопрос о RPC и HTTP.

Я понял, что основное различие между RPC и HTTP заключается в том, что вы вызываете функцию на сервере (RPC), а HTTP предназначен для обмена данными.

Но они очень похожи, правда? Когда вы что-то публикуете или получаете (HTTP), сервер также просто выполняет функции с данными, которые вы ему отправили.

Я читал, что HTTP использует TCP и RPC UDP. Может кто-нибудь мне это объяснить? Зачем HTTP нужен TCP? Разница между TCP и UDP мне ясна, но почему они оба используют разные технологии, если на самом деле они делают одно и то же?

Так в чем же между ними разница?

1 ответ

RPC просто означает удаленный вызов процедуры, то есть вызов некоторых функций, предлагаемых удаленной «вещью» (процесс, компьютер, ...) и, возможно, получение результата обратно. Это не означает конкретной технологии того, как выполняются эти RPC.

На самом деле для этого существует множество технологий, подробнее см. Википедия: RPC . Некоторые из этих технологий используют HTTP в качестве базового уровня. Некоторые используют UDP, но, скорее всего, используют TCP.

По сути, вы сравниваете «доставку еды» (RPC) с «автомобилем» (HTTP), то есть еду можно доставлять с помощью автомобилей, но не все машины доставляют еду, и не вся доставка еды осуществляется на машине.

Другие вопросы по тегам