I don’t want to say that HTTP is a good RPC system or that it has all of the features of a proper one, but at a high level I think what a lot of people want out of their RPC is ‘make fixed call, get results and/or status’. HTTP requests with JSON payloads work pretty well for this and they don’t require, say, a connection setup phase the way a SMTP-like or IMAP-like protocol might have. At a low level HTTP can have keepalives and connection reuse and so on, but I think that tends to be either hidden away in the HTTP library or optional.
(I’m the author of the original, linked-to entry.)
I don’t want to say that HTTP is a good RPC system or that it has all of the features of a proper one, but at a high level I think what a lot of people want out of their RPC is ‘make fixed call, get results and/or status’. HTTP requests with JSON payloads work pretty well for this and they don’t require, say, a connection setup phase the way a SMTP-like or IMAP-like protocol might have. At a low level HTTP can have keepalives and connection reuse and so on, but I think that tends to be either hidden away in the HTTP library or optional.
(I’m the author of the original, linked-to entry.)
score 8 · canonical