Selenium RC was the main Selenium Project for long time (i.e. Currently Selenium 2 is the main project). Selenium 2 still runs Selenium 1’s Selenium RC interface for backwards compatibility.

Selenium RC has support for almost all browsers

Selenium RC has support for several programming languages like Java, C#, Ruby, Python, Pearl, Javascript and PHP)

How Selenium RC works? Selenium RC comes in two parts:

Server which handles the browsers

Client Driver for computer language

Selenium RC is the server version of Selenium. You write your tests using a programming language (say Java) and client driver for the programming language. Your tests issues commands, which the client driver sends to the server. The server then performs your actions for you in the browser and reports the results back to your client.

After looking into the above screenshot, its very clear that The client sends the commands to the server and the server runs the commands to drive the browser. Finally the server sends back the results observed on driving the browser to the client.Selenium RC Server acts as a Proxy: Due to the security reasons with the Browsers, the website content cannot be accessible by any script from external site. Hence we require a Selenium RC Server which acts as a proxy by taking the script written for automating the web application as input and performing the operations as written in the script on browsers as output as shown below:

The Process of Running Tests using Selenium RC: 1. Suppose you have written Selenium Automation Tests to be performed on any Application in Java Language. The Selenium Automation Tests consists of Selenium Commands which are programmed using Java language.
2. Since we are using Java language, we have to use Java Client Drivers to communicate the Selenium Commands with the Selenium RC server which acts a proxy to avoid security restrictions of any browser.
3. When a test starts, the following happens:

1) The client driver establishes a connection with the Selenium RC server.
2) Selenium RC server launches a browser with a URL specified in the Automation code.
3) The Client driver passes a Selenium command to the Selenium RC Server
4) The Selenium RC Server interprets the command and then triggers the corresponding JavaScript execution to execute that command within the browser.
5) Once all the Selenium Commands got executed, the Selenium RC server closes the browser
6) Selenium RC server communicates the results with the Client driver
7) Hence the Test results are displayed on the Client side.

So to conclude the Selenium RC server acts as a mediator/proxy between the Selenium Code written in any programming language and Browsers with security to resolve the security problems.