Reverse proxy is a proxy server that is installed on a network server. Typically, reverse proxies are used in front of Web servers. All connections from the Internet addressed to one web server are made through the proxy server, which can cope with the request itself or pass the request wholly or partially to the main web server.
A reverse proxy in network traffic offices bound for a set of servers, presenting a single interface for the caller. For example, a reverse proxy can be used to load balance a Web server cluster. By contrast, a forward proxy acts as a proxy for traffic outside the enclosure. For example, an ISP can use a forward proxy for HTTP traffic of their clients to external web servers on the Internet, but can also cache the results to improve performance.
There are several reasons for installing reverse proxy servers:
Security: the proxy server can provide an additional layer of defense by the separation or masking the type of server that is behind the reverse proxy. This configuration can protect servers further up the chain – mainly through obfuscation.
* Encryption / SSL acceleration: when secure websites are created, the SSL encryption is often not done by the Web server itself, but by a reverse proxy that is equipped with SSL acceleration hardware or software.
* Load distribution: the reverse proxy can distribute the load of several servers, each server serving its own application area. For the quarter reverse proxy Web server, the reverse proxy may need to rewrite the URLs in each webpage (translation from externally known URLs to the locations inside).
* Caching: A reverse proxy can download web servers, caching static content like images, and dynamic content, such as an HTML page delivered by a content management system. Such proxy caches can often satisfy a considerable amount of web page requests, greatly reducing the burden on the central web server, another term is Web Accelerator. This technique is also used for the Wikipedia servers.
* Compression: the proxy server can optimize and compress the content to speed up the loading time.
* Spoon feeding: a dynamically generated page can occur once and serves the reverse proxy, which can give the client a little at a time. The program that generates the page is not required to remain open and tie server resources for as long as possible to extend the client requires to complete the transfer.