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
51 Questions About ‘The Good Doctor’
API Limits and Quotas  |  Google Ads API  |  Google for Developers
Somboun Asian Market
Cold Air Intake - High-flow, Roto-mold Tube - TOYOTA TACOMA V6-4.0
Urist Mcenforcer
Ffxiv Shelfeye Reaver
Craftsman M230 Lawn Mower Oil Change
Wisconsin Women's Volleyball Team Leaked Pictures
Cad Calls Meriden Ct
Wmu Course Offerings
Top Financial Advisors in the U.S.
Corpse Bride Soap2Day
Optum Medicare Support
Pbr Wisconsin Baseball
454 Cu In Liters
Turning the System On or Off
7 Low-Carb Foods That Fill You Up - Keto Tips
4156303136
Painting Jobs Craigslist
Pricelinerewardsvisa Com Activate
Kamzz Llc
FDA Approves Arcutis’ ZORYVE® (roflumilast) Topical Foam, 0.3% for the Treatment of Seborrheic Dermatitis in Individuals Aged 9 Years and Older - Arcutis Biotherapeutics
Finalize Teams Yahoo Fantasy Football
Japanese Mushrooms: 10 Popular Varieties and Simple Recipes - Japan Travel Guide MATCHA
Zillow Group Stock Price | ZG Stock Quote, News, and History | Markets Insider
At&T Outage Today 2022 Map
Jordan Poyer Wiki
kvoa.com | News 4 Tucson
Cornedbeefapproved
Sinai Sdn 2023
Kelley Fliehler Wikipedia
Willys Pickup For Sale Craigslist
Otis Offender Michigan
Stolen Touches Neva Altaj Read Online Free
Www Craigslist Com Shreveport Louisiana
How to Watch the X Trilogy Starring Mia Goth in Chronological Order
Arcadia Lesson Plan | Day 4: Crossword Puzzle | GradeSaver
Tds Wifi Outage
Elgin Il Building Department
Hindilinks4U Bollywood Action Movies
Craigslist Tulsa Ok Farm And Garden
Cranston Sewer Tax
Barstool Sports Gif
412Doctors
Timothy Warren Cobb Obituary
Professors Helpers Abbreviation
Dontrell Nelson - 2016 - Football - University of Memphis Athletics
Copd Active Learning Template
Bonecrusher Upgrade Rs3
The 13 best home gym equipment and machines of 2023
Kidcheck Login
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.