Skip to content

Forward vs Reverse Proxy: Same Word, Opposite Jobs

Forward vs reverse proxy, by the HTTP standard: who chooses each, what each hides, the headers both leave, and how many websites sit behind a reverse proxy.

HProxy TeamJuly 17, 2026Updated October 13, 202610 min read

Forward vs Reverse Proxy: Same Word, Opposite Jobs

A forward proxy works for the people who send requests. A reverse proxy works for the website that receives them. The HTTP standard, RFC 9110, separates the two by who chose the machine. A proxy is "chosen by the client, usually via local configuration rules". A gateway, which the standard also calls a reverse proxy, is an intermediary that "acts as an origin server for the outbound connection but translates received requests and forwards them inbound to another server or servers".

We read RFC 9110, RFC 7239, Apache's proxy manual, MDN, W3Techs' usage figures and five other guides on October 13, 2026, all from our server. We also sent three ordinary requests to see reverse proxies at work in real headers.

What is the difference between a forward and a reverse proxy?

Ask who put the proxy there. If the client did, by setting it in a browser, an app or the system, it is a forward proxy. It speaks for that client, and the sites it visits see the proxy's address. If the website did, by placing it in front of its servers, it is a reverse proxy. It speaks for the site, every visitor reaches it first, and no visitor sets anything up for it.

Forward or reverse: how to tell

One question decides the rest: who put the proxy there.
QuestionForward proxyReverse proxy
Who chose itThe clientThe website
Set up whereIn the clientBefore the servers
Speaks forIts clientsIts servers
HidesThe clientThe origin
Visitors noticeTheir own settingNothing to set
ExamplesOffice proxies, proxy servicesCloudflare, nginx, CDNs

RFC 9110, Apache's mod_proxy manual and MDN, read October 13, 2026

The definitions, from the HTTP standard

RFC 9110 names three intermediaries. A proxy is "a message-forwarding agent that is chosen by the client, usually via local configuration rules". Organizations use proxies to "group an organization's HTTP requests through a common intermediary for the sake of security services, annotation services, or shared caching". A gateway acts as the origin server for whoever connects to it. Gateways serve "to encapsulate legacy or untrusted information services", to speed servers up with what the standard calls accelerator caching, "and to enable partitioning or load balancing" of a service. A tunnel "acts as a blind relay between two connections without changing the messages". That is how an HTTP proxy carries an HTTPS connection it cannot read.

One case falls between the definitions. An interception proxy, also commonly known as a transparent proxy, differs from an HTTP proxy "because it is not chosen by the client". The network's operator puts it there. RFC 9110 finds such proxies "on public network access points" and "within corporate firewalls to enforce network usage policies". It acts for that operator, so the client's settings do not reveal it.

The word gateway needs care. RFC 9110 uses it for the reverse kind, and Apache's manual agrees: "A reverse proxy (or gateway)". MDN uses it for the other kind: "There are two types of proxies: forward proxies (or tunnel, or gateway) and reverse proxies". In AI chat apps, "reverse proxy" names something else again, an API relay for language models, which our page on that other meaning explains.

Apache's manual: two switches

Apache's web server can be either kind, and its manual describes both. "An ordinary forward proxy is an intermediate server that sits between the client and the origin server." "The client must be specially configured to use the forward proxy to access other sites." Its typical use is "to provide Internet access to internal clients that are otherwise restricted by a firewall". The ProxyRequests directive switches it on, and the manual opens with a warning: "Open proxy servers are dangerous both to your network and to the Internet at large." MDN estimates that "There are likely hundreds of thousands of open forward proxies on the Internet."

A reverse proxy "appears to the client just like an ordinary web server. No special configuration on the client is necessary." It decides where each request goes and "returns the content as if it were itself the origin". The ProxyPass directive sets one up, and "It is not necessary to turn ProxyRequests on in order to configure a reverse proxy." The same program does either job, and its configuration decides which.

Reverse proxies you pass through every day

Most people never set a proxy, and many of their requests still meet one. W3Techs defines a reverse proxy service as "an intermediary for a website which handles request from web clients on behalf of the website's server". On October 13, 2026, it found 31.5% of all websites behind one of the services it monitors. Cloudflare alone covered 27.0%, an 85.5% share of that market. W3Techs counts services only, so an nginx a site runs itself does not appear in these figures.

Share of all websites behind each reverse proxy servicePercent of all websites, October 13, 2026; 68.5% use none of the services W3Techs monitors
Cloudflare
27%
Amazon CloudFront
1.7%
Fastly
0.9%
DDoS-Guard
0.7%
Akamai
0.6%
Sucuri
0.2%
Imperva
0.1%
Cloudflare's CDN alone grew from 3.9% of websites ten years ago to 25% in September 2026, by W3Techs' count.
Source: W3Techs, usage statistics of reverse proxy services, read October 13, 2026 · hproxy.comProxy.

Reverse proxies leave marks in the headers. We sent three plain requests from our server, with no proxy set, and kept the lines that show who answered.

Captured on our own server on October 13, 2026: three websites answering through their reverse proxies.

The first request went to httpbin.org, which echoes the headers its application received. We sent three, and the application saw four. The fourth, X-Amzn-Trace-Id, is the header Amazon's load balancer writes: by AWS's documentation, it "adds or updates the X-Amzn-Trace-Id header before sending the request" on. Wikipedia answered from Apache Traffic Server, "A fast, scalable and extensible HTTP/1.1 and HTTP/2 compliant caching proxy server". Its age header says the copy we got had waited 16,917 seconds, about four hours and 42 minutes, in that cache. Cloudflare's own site answered with "server: cloudflare".

One request, both kinds of proxy

A single request can meet both kinds. It leaves through the proxy its client chose, crosses the internet, and arrives at the reverse proxy the website put in front of its servers.

One request, both kinds of proxy
  1. Client

    a browser, an app or a script

  2. Forward proxy

    chosen by the client; the site sees its address

  3. The internet

    the request travels on

  4. Reverse proxy

    set up by the website; every visitor reaches it first

  5. Origin server

    answers the reverse proxy, never the client

Source: RFC 9110 and Apache's mod_proxy manual, read October 13, 2026 · hproxy.comProxy.

Each hop sees only its neighbor's address. The reverse proxy sees the forward proxy, and the origin server sees the reverse proxy, unless a header carries the earlier address along. When the reverse proxy cannot get an answer from the origin, the visitor receives the reverse proxy's error instead. Two of the most-viewed reverse proxy questions on Stack Overflow are exactly that, an nginx reverse proxy returning 504 (492,211 views) and one returning 502 (158,353 views). Our guides to 504 Gateway Timeout and 502 Bad Gateway cover both.

The headers that carry the client's address

Three headers describe the path. Via names the intermediaries: "Each member of the Via field value represents a proxy or gateway that has forwarded the message." RFC 9110 makes it a duty: "A proxy MUST send an appropriate Via header field, as described below, in each message that it forwards." X-Forwarded-For carries the client's address. MDN calls it a de-facto standard and notes that the standard version, Forwarded, is "much less frequently used". RFC 7239 defines that Forwarded header so proxies can "disclose information lost in the proxying process, for example, the originating IP address of a request".

Those headers cut both ways. MDN warns that X-Forwarded-For "exposes privacy-sensitive information by design, such as the IP address of the client". A website also cannot trust what arrives in it, because anyone can write the header before the request reaches the site's own proxies. MDN's rule is strict: "Any security-related use of X-Forwarded-For (such as for rate limiting or IP-based access control) must only use IP addresses added by a trusted proxy." Our page on 429 Too Many Requests shows what rate limits count.

Proxy lists grade forward proxies by these same headers. One that passes your own address on is called transparent, and one that sends none of them is called elite. An elite proxy leaves out the Via header the standard asks of every proxy. Our page on transparent, anonymous and elite proxies covers the grades and how to test them.

The most-voted reverse proxy question on Stack Overflow asks exactly this page's question: "What's the difference between a proxy server and a reverse proxy server?", with 616,618 views since 2008. We read five pages that rank for it.

  • Oxylabs writes that a forward proxy "hides the web server's real IP address by using one of its own". A forward proxy stands in for the client. MDN puts it plainly: "Forward proxies can hide the identities of clients whereas reverse proxies can hide the identities of servers." The same page calls reverse proxies "of no particular use to consumers and regular people", while W3Techs counts Cloudflare alone in front of 27.0% of all websites.
  • TheServerSide (2022, updated November 2025) says a forward proxy lets "computers isolated on a private network" reach the internet. That describes the office case only. MDN notes that a proxy "can be on the user's local computer, or anywhere between the user's computer and a destination server on the Internet".
  • InstaSafe writes that "the clients in forward proxy servers belong to the internal network". Proxy services run forward proxies on the internet for clients anywhere.
  • Kemp calls the forward proxy "the most common of all the proxy servers" and gives no count. The only count we found covers reverse proxy services.
  • GeeksforGeeks is accurate and names the interception case: forward proxies can "operate without explicit client-side proxy configuration". It leaves out the headers above and the rule on trusting them.

Where HProxy fits

HProxy sells forward proxies. You set one in your software, and the sites you visit see its address. Residential proxies cost $0.44 per GB, ISP proxies hold one static address, datacenter proxies cost $1.58 per IP a month and mobile proxies cost $1.50 per GB. Each speaks HTTP, HTTPS and SOCKS5, and our page on SOCKS5 explains the difference. The proxy checker shows which address a site sees through one. A reverse proxy is the website's own machinery, and none of ours sits in front of anyone's site.

What we could not find out

  • How many forward proxies exist. No census exists, and MDN's "hundreds of thousands" covers open ones only, as an estimate.
  • How many websites run their own reverse proxy. W3Techs counts services such as Cloudflare, so a site's own nginx falls outside its 31.5%.
  • What every field of Wikipedia's x-cache header means. We read the headers only.

Our next check of these figures is due by April 13, 2027.

Sources

Every page below was read on October 13, 2026, from our server.

Frequently asked questions

What is the difference between a forward and a reverse proxy?

Who chose it. RFC 9110 defines a proxy as an intermediary "chosen by the client", set in the client's own software, and a gateway, which it also calls a reverse proxy, as an intermediary that "acts as an origin server" and passes requests to the servers behind it. A forward proxy speaks for the people sending requests. A reverse proxy speaks for one website, and every visitor reaches it first.

Is Cloudflare a forward or reverse proxy?

For the websites that use it, a reverse proxy. It handles visitors' requests on the website's behalf, which is how W3Techs defines a reverse proxy service, and www.cloudflare.com itself answers with the header server: cloudflare. W3Techs counted Cloudflare in front of 27.0% of all websites on October 13, 2026, an 85.5% share of the reverse proxy services it monitors.

Which type do I buy for scraping or privacy?

A forward proxy. Residential, ISP, datacenter and mobile proxies are all forward proxies: you set one in your software, and the sites you visit see the proxy's address. A reverse proxy belongs to the website that runs it, so there is nothing to buy on the visitor's side.

Is a reverse proxy the same as a gateway?

In the HTTP standard, yes. RFC 9110 gives reverse proxy as another name for a gateway, and Apache's manual says "A reverse proxy (or gateway)". MDN uses the word the other way round and lists "forward proxies (or tunnel, or gateway)", so read the word in its context.

Can one request pass through both a forward and a reverse proxy?

Yes, and it happens all the time. A request can leave through a proxy the client chose, cross the internet, and reach the reverse proxy in front of the site, which passes it to the origin server. Each one hides a different side: the site sees the forward proxy's address, and the client never reaches the origin server directly.

Is a load balancer a reverse proxy?

A load balancer for HTTP works as one. RFC 9110 names load balancing among the jobs of gateways, and MDN lists it first among the uses of reverse proxies: "distribute the load to several web servers". Our page on reverse proxies and load balancers covers where the two differ.

What is a reverse proxy, in simple terms?

A server that answers a website's visitors in place of the site's own servers. It receives each request, passes it to a server behind it and returns the answer "as if it were itself the origin", in the words of Apache's manual. MDN lists its uses as load balancing, authentication, decryption or caching. Wikipedia answered our own request from a caching server of this kind.

What is a transparent proxy?

In the HTTP standard, a proxy the client did not choose. RFC 9110 calls it an interception proxy, also commonly known as a transparent proxy, and notes that it is "not chosen by the client"; it sits at public network access points or inside corporate firewalls. Proxy lists use transparent for something else: a proxy that passes your own address on in its headers.

Get proxies that are alive right now

Our free proxy list re-checks every exit every few minutes across 100+ countries, with a live last-checked time, so you copy IPs that worked moments ago, not a stale text dump. When the location has to survive a real check, the paid network holds up.

129M+ proxy checks run · 100+ countries · HTTP / HTTPS / SOCKS · re-checked every few minutes · no signup

HProxy.

Honest guides and comparisons on proxies, scraping and staying unblocked, from the team that runs the network.

RSS feed