A reverse proxy server is a device that a web host can place between its servers and the Internet in order to handle client requests. When this type of setup is employed, clients that make requests of the reverse proxy see it as a normal server. The reverse proxy server forwards all requests to the actual servers, then passes the data back to the clients. This can provide additional security for the web host, speed up content delivery, or take some load off the web servers. Another use of these devices is referred to as spoon feeding, since it allows the web server to quickly generate a dynamic page and send the entire thing to the proxy server, which can then deliver it piece by piece to the client.
One common use of reverse proxies is to cache static data. When one of these proxies receives a request for static content, such as images, sound, or video, it caches the data before sending it on to the client. The next time this information is requested, the caching reverse proxy can simply deliver it straight to the client instead of forwarding the request to the actual web server. This can take some of the load off the regular server, freeing it up to generate dynamic content.
Performance can also be increased by using a reverse proxy server to distribute loads across multiple web servers. Incoming client requests go first to the proxy and are subsequently distributed according to server load or request type. The least busy server or the one designed to handle that particular request can then generate the necessary data.
It is also possible for a reverse proxy server to speed up secure socket layer (SSL) encryption. In these instances, the web server will deliver content to the proxy, which then performs the encryption itself. By offloading the encryption duties to the proxy, more processing power is freed up on the web server to fill requests for content. The proxy server may also have SSL acceleration hardware installed, which can further speed up the process.
Another use for a reverse proxy server is to create additional protection between a web host and the Internet. When a malicious action is taken against a web host that uses a reverse proxy server, it will tend to take the brunt of the attack. This can allow the regular server to go unscathed, as any malware or other undesired code may reside on the proxy instead. Application layer firewalls can also be installed on reverse proxies, which can make it easier to defend against incoming attacks.