What is RPC/HTTP?

We talk about using RPC over HTTP and HTTPS a lot.  I’ve blogged about troubleshooting RPC/HTTP, I talk about how fantastic it is to be able to access my email without the need to VPN, but I was stopped in my tracks today when someone actually asked me what RPC/HTTP meant. I mean why is RPC “over” HTTP.

Well, I started talking about the OSI model, and how the different layers interacted.  Then I had to stop as I realised that this person really had no idea what I was talking about, and couldn’t picture this protocol stack (I was initially taught to think about it as a high rise building with 7 floors (and the end user sitting on top of the building on the 8th floor ready to add the unknown variable “user error”).  Thank goodness for Wikipedia… and its excellent descriptions.

So for all of you who want to know.  RPC (Remote procedure call)  is a protocol that sits above (“over”) HTTP in the Application layer (7).  Messaging protocols like IMAP4, SMTP POP3 and NNTP are all up there at the top of the stack in the application layer.  If you then wanted to secure your transmission, you’ll need to use SSL which sits in the Presentation layer (6).  Which sits above TCP in the Transport layer (4), which sits above IP in the Network layer (3). And so on till all of the 1’s and zero’s zoom out of the building layer 1 on their way to wherever… 

Yikes.  I must be getting old.  I assumed that all IT guys knew about the OSI model.  I am old….