A proxy server for HTTP requests. Typically an HTTP proxy or "web proxy" accepts HTTP requests containing URLs with a special prefix. The proxy removes the prefix and looks for the resulting URL in its local cache (if it is a caching proxy). If found, it returns the document immediately, otherwise it fetches it from the remote server, saves a copy in its cache and returns it to the requester. The cache will usually have an expiry algorithm which flushes documents according to their age, size and access history.
The purpose is to reduce the amount of data flowing over the proxy's Internet connection and to speed up clients' access to frequently requested pages, e.g. at an ISP or on a large company's firewall. The proxy may also reject requests where the URL or content matches certain conditions.
The Apache HTTP server can be configured to act as a proxy server. Another popular software proxy is Squid.