What is RPC over HTTP? (2024)

What is RPC over HTTP? (1)

By

  • Rahul Awati

What is Remote Procedure Call over HTTP (RPC over HTTP)?

Remote Procedure Call over HTTP (RPC over HTTP) is a Microsoft protocol that enables Microsoft Outlook clients to access Microsoft Exchange servers over HTTP. It is used to communicate RPC traffic over an HTTP connection.

Through RPC over HTTP, RPC clients can efficiently and securely connect to RPC server programs across the internet and execute Remote Procedure Calls. The client and server communicate through an RPC Proxy which functions as an intermediary.

RPC over HTTP explained

For most internet browser applications, HTTP is the primary means of accessing and browsing the world wide web. Microsoft uses HTTP to extend the capabilities of its Internet Information Server (IIS) to enable remote procedure call services via the RPC over HTTP protocol.

RPC clients can execute procedures provided by server programs on remote networks with the help of the RPC Proxy, which runs on an IIS server. It executes the following procedure calls:

  • accepts RPC requests coming from the internet;
  • performs various checks on these requests, including access, authentication and validation;
  • forwards the request to the RPC server for processing if the request passes all tests; and
  • sends the server's replies back to the client application across the internet.

The RPC over HTTP protocol uses two long-lived HTTP connections: one for request data and another for response data. The protocol can tunnel multiple requests and responses in a single HTTP request.

The need for RPC over HTTP

RPC over HTTP plays a key role in connecting an authorized Outlook user outside the corporate network (i.e., a remote user) with the internal Exchange server. To establish this connection, the client accesses a reverse proxy (e.g., WebSEAL) using an HTTP connection.

The connection terminates inside the network and a configured IIS relays the RPC commands to the Exchange server. This allows the remote user to access the internal Exchange server.

How RPC over HTTP works

The goal of RPC over HTTP is to allow client programs to effectively execute procedures provided by server programs on remote networks using the internet. The protocol accomplishes this by tunneling its calls through an established HTTP port, which allows calls to cross network firewalls across both client and server networks. The RPC proxy on the RPC server's network plays an important role in enabling remote access and remote procedure execution.

Here's how the process works:

  1. The RPC client executes a remote procedure and routes the call to its network firewall/proxy.
  2. This network firewall/proxy sends the remote procedure call to the RPC server's network over the internet.
  3. The RPC server's network firewall receives this remote procedure call.
  4. When the call is received, the network firewall transfers the call to the IIS server.
  5. The IIS server sends the call to the RPC server.
  6. The RPC server executes the call and sends a reply to the IIS server.
  7. The IIS server sends the reply to the network firewall.
  8. The RPC server's network firewall forwards the reply to the client network over the internet.
  9. The client's firewall/proxy receives the reply.
  10. The client's firewall/proxy transfers the RPC server program's reply to the RPC client application, completing the cycle.

If either the server or the client gets disconnected, the RPC Proxy detects it and terminates the RPC session. If the session continues, the RPC Proxy will:

  • maintain its connections to the client and the server;
  • forward remote procedure calls from the client to the server; and
  • send replies from the server to the client.

If the client network has a firewall, a proxy server program such as Microsoft Proxy Server is required for RPC over HTTP to operate.

Versions of RPC over HTTP

Microsoft offers two versions of RPC over HTTP: Version 1 and Version 2, which have different capabilities and limited interoperability.

Version 1, or RPC over HTTP v1, is supported through Windows XP. Version 1 of the RPC Proxy is supported through Windows 2000. To use this protocol, SSL tunneling must be enabled on all HTTP proxies/firewalls between the RPC over HTTP client and the RPC Proxy. Also, v1 cannot authenticate to the RPC Proxy.

Version 2, or RPC over HTTP v2, is the current version of the protocol. It doesn't require SSL tunneling to be enabled on all HTTP proxies/firewalls between the RPC over HTTP client and the RPC Proxy. Additionally, it can send all RPC over HTTP traffic within an SSL session and requires authentication to the RPC Proxy by default.

Another difference between the two versions is how the RPC Proxy operates in a web farm. If the RPC Proxy v1 is installed on an IIS machine that is part of a web farm, it will not operate correctly. RPC proxy v2 operates correctly.

What is RPC over HTTP? (2)

Security in RPC over HTTP

In addition to standard RPC security mechanisms, RPC over HTTP provides the following types of security:

  • IIS authentication;
  • traffic encryption; and
  • restricting RPC over HTTP calls to certain devices.

These additional security features ensure that RPC over HTTP traffic is protected both by RPC and the protocol's tunneling mechanism. It is this tunneling mechanism that provides double-layered security to standard RPC security by:

  • leveraging the authentication mechanism of IIS (for RPC over HTTP v2 only);
  • encrypting traffic between the RPC over HTTP client and the RPC proxy with SSL (for RPC over HTTP v2 only);
  • ensuring that the RPC proxy cannot access the data being sent; and
  • restricting RPC Proxy levels and limiting which machines on the server network can receive RPC over HTTP calls.

See also: Outlook Anywhere, gRPC, SOAP, Network Information System

This was last updated in April 2022

Continue Reading About RPC over HTTP

  • The architectural impact of RPC in distributed systems
  • How to set up Office 365 modern authentication
  • 12 Microsoft Exchange Server security best practices
  • Reduce your risk with Exchange Server security best practices
  • Synchronous vs. asynchronous communications: The differences

Related Terms

What is an endpoint protection platform (EPP)?
An endpoint protection platform (EPP) is a security technology that safeguards endpoint devices.Seecompletedefinition
What is LDAP (Lightweight Directory Access Protocol)?
LDAP (Lightweight Directory Access Protocol) is a software protocol used for locating data about organizations, individuals and ...Seecompletedefinition
What is malware? Prevention, detection and how attacks work
Malware, or malicious software, is any program or file that's intentionally harmful to a computer, network or server.Seecompletedefinition

Dig Deeper on Mobile security

What is RPC over HTTP? (2024)

FAQs

What is RPC over HTTP? ›

Through RPC over HTTP, RPC clients can efficiently and securely connect to RPC server programs across the internet and execute Remote Procedure Calls. The client and server communicate through an RPC Proxy which functions as an intermediary.

What is the RPC method in HTTP? ›

In Remote Procedure Call (RPC), the client uses HTTP POST to call a specific function by name. Client-side developers must know the function name and parameters in advance for RPC to work. In REST, clients and servers use HTTP verbs like GET, POST, PATCH, PUT, DELETE, and OPTIONS to perform options.

What is the RPC explained simply? ›

What is Remote Procedure Call (RPC)? A Remote Procedure Call (RPC) is a software communication protocol that one program uses to request a service from another program located on a different computer and network, without having to understand the network's details.

What is RPC vs HTTP? ›

RPC means, that you can write Java Code for your browser, that invokes the methods of an server side object. It also provides a complete build in serialization for your Java objects. HTTP request means, that your doing a normal Ajax / HTTP request to an URL.

Why is RPC used? ›

Remote Procedure Call (RPC) protocol is generally used to communicate between processes on different workstations. However, RPC works just as well for communication between different processes on the same workstation.

What port number is RPC over HTTP? ›

The DCE/RPC server monitors port 593 for DCE/RPC client traffic, but the firewall blocks port 593. Firewalls typically block port 593 by default. RPC over HTTP transports DCE/RPC over HTTP using well-known HTTP port 80, which firewalls are likely to permit.

What is an example of a RPC? ›

Other examples of the use of RPC in experiments at CERN include: remote monitoring program control, remote FASTBUS access, remote error logging, remote terminal interaction with processors in VMEbus, the submission of operating system commands from embedded microprocessors, and many less general functions.

Is RPC faster than REST? ›

gRPC is roughly 7 times faster than REST when receiving data & roughly 10 times faster than REST when sending data for this specific payload. This is mainly due to the tight packing of the Protocol Buffers and the use of HTTP/2 by gRPC.”

What is the meaning of RPC server? ›

A remote procedure call (RPC) is a protocol that allows different processes on a computer to communicate with each other to perform a task. An RPC server is unavailable error occurs when a Windows PC cannot communicate with another computer on the same network.

What is simple RPC? ›

Simple RPC implementation for Arduino. This library provides a simple way to export Arduino functions as remote procedure calls. The exported method definitions are communicated to the host, which is then able to generate an API interface. Author: Jeroen F.J. Laros.

What are the three types of RPC? ›

An RPC is an interprocess communication technique. There are three types of RPCs namely, callback RPC, broadcast RPC, and batch-mode RPC.

What is the summary of the RPC? ›

It outlines limitations on penal legislation including prohibitions on ex post facto laws and bills of attainder. It also summarizes jurisdictional rules, theories of criminal liability, and characteristics of criminal law including generality, territoriality and prospectivity.

How does RPC over HTTP work? ›

The Microsoft RPC-over-HTTP implementation (RPC over HTTP) allows RPC clients to securely and efficiently connect across the Internet to RPC server programs and execute remote procedure calls. This is accomplished with the help of an intermediary known as the RPC-over-HTTP Proxy, or simply the RPC Proxy.

What is the HTTP RPC method? ›

The RPC over HTTP protocol uses two long-lived HTTP connections: one for request data and another for response data. The protocol can tunnel multiple requests and responses in a single HTTP request.

When not to use RPC? ›

Because of RPC's disadvantages, you may not want to use RPC if you are building an API where one critical focus is that it can be easily browsed and discovered by your consumers.

What is RPC port used for? ›

Summary. RPC dynamic port allocation is used by server applications and remote administration applications, such as Dynamic Host Configuration Protocol (DHCP) Manager, Windows Internet Name Service (WINS) Manager, and so on.

Is RPC faster than rest? ›

gRPC is roughly 7 times faster than REST when receiving data & roughly 10 times faster than REST when sending data for this specific payload. This is mainly due to the tight packing of the Protocol Buffers and the use of HTTP/2 by gRPC.”

Does RPC use HTTP or TCP? ›

It's worth noting that although most RPC protocols operate over TCP at the lower level, they are not strictly bound to TCP. In practice, they can achieve similar functionality using UDP or even HTTP.

Is RPC a secure protocol? ›

Secure RPC (Remote Procedure Call) protects remote procedures with an authentication mechanism. The Diffie-Hellman authentication mechanism authenticates both the host and the user who is making a request for a service. The authentication mechanism uses Data Encryption Standard (DES) encryption.

Top Articles
Sandbox Testing - Apple Pay
50 Pips a Day Forex Strategy: Everything You Need to Know (2023)
Devotion Showtimes Near Xscape Theatres Blankenbaker 16
NOAA: National Oceanic & Atmospheric Administration hiring NOAA Commissioned Officer: Inter-Service Transfer in Spokane Valley, WA | LinkedIn
Gore Videos Uncensored
Klustron 9
How To Get Free Credits On Smartjailmail
Here's how eating according to your blood type could help you keep healthy
Celsius Energy Drink Wo Kaufen
Student Rating Of Teaching Umn
A.e.a.o.n.m.s
The Rise of Breckie Hill: How She Became a Social Media Star | Entertainment
Used Wood Cook Stoves For Sale Craigslist
Charmeck Arrest Inquiry
Fredericksburg Free Lance Star Obituaries
I Touch and Day Spa II
Who called you from +19192464227 (9192464227): 5 reviews
Weather Rotterdam - Detailed bulletin - Free 15-day Marine forecasts - METEO CONSULT MARINE
The Menu Showtimes Near Regal Edwards Ontario Mountain Village
3476405416
Ruben van Bommel: diepgang en doelgerichtheid als wapens, maar (nog) te weinig rendement
Yard Goats Score
Myhr North Memorial
Busted News Bowie County
Drying Cloths At A Hammam Crossword Clue
Craigslist Rome Ny
Black Panther 2 Showtimes Near Epic Theatres Of Palm Coast
Effingham Daily News Police Report
How rich were the McCallisters in 'Home Alone'? Family's income unveiled
Perry Inhofe Mansion
Mrstryst
Mbi Auto Discount Code
Where Do They Sell Menudo Near Me
Vitals, jeden Tag besser | Vitals Nahrungsergänzungsmittel
Giantess Feet Deviantart
Linabelfiore Of
Afspraak inzien
Wsbtv Fish And Game Report
Improving curriculum alignment and achieving learning goals by making the curriculum visible | Semantic Scholar
Aita For Announcing My Pregnancy At My Sil Wedding
814-747-6702
Nimbleaf Evolution
The Cutest Photos of Enrique Iglesias and Anna Kournikova with Their Three Kids
Keci News
Naomi Soraya Zelda
Slug Menace Rs3
Elvis Costello announces King Of America & Other Realms
Lux Funeral New Braunfels
Kidcheck Login
Mike De Beer Twitter
Convert Celsius to Kelvin
How to Choose Where to Study Abroad
Latest Posts
Article information

Author: Margart Wisoky

Last Updated:

Views: 6028

Rating: 4.8 / 5 (58 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Margart Wisoky

Birthday: 1993-05-13

Address: 2113 Abernathy Knoll, New Tamerafurt, CT 66893-2169

Phone: +25815234346805

Job: Central Developer

Hobby: Machining, Pottery, Rafting, Cosplaying, Jogging, Taekwondo, Scouting

Introduction: My name is Margart Wisoky, I am a gorgeous, shiny, successful, beautiful, adventurous, excited, pleasant person who loves writing and wants to share my knowledge and understanding with you.