From Wikipedia "In computer networks, a reverse proxy is a type of proxy server that retrieves resources on behalf of a client from one or more servers. These resources are then returned to the client as though it originated from the reverse proxy itself.[1] While a forward proxy is usually situated between the client application (such as a web browser) and the server(s) hosting the desired resources, a reverse proxy is usually situated closer to the server(s) and will only return a configured set of resources."
How would you explain the term 'reverse proxy' to a non-technical person?
UPDATE
Background to the question:
I am teaching myself to code with the goal of creating a databound webapp by myself. Since I've started, I found myself doing more non-programming related tasks, a gotcha no one really told me about. So in a bid to understand the various components that fit together in creating a webapp, I would like to better understand the role of webservers and what they do and how they work. Of which, I came across nginx which provides a reverse proxy service hence the question.
A reverse proxy is a server that looks like a normal web server to the rest of the world, but isn't actually serving its own content. When it gets a request, it actually asks a different server for the answer, and passes it back to the client.
A normal [forward] proxy sits on the same network as the client computer running a Web browser. The Web browser must be configured to use it under preferences. It is normally used to cache websites so that only one copy of the Google logo needs to be downloaded even though you have ten people all loading google.com. Since they all ask the proxy to download it, the proxy stores a copy in it's cache the first time and serves that copy to everyone else. A second use for a normal proxy is access control. Perhaps you want to block certain websites or only allow certain people on to the Internet. You can set your router to only allow access through the proxy where you have complete control of who's using what.
A reverse proxy sits on the server-side of things right next to the actual web server. It's invisible to clients unlike a normal proxy. As far as they know, they are talking directly to the web server. One use for a reverse proxy is load-balancing. A reverse proxy can send a request to one or more web servers behind it depending on which servers are running and not over-loaded. It can also be used to allow multiple web servers to share an IP Address and other more advanced techniques.
Hope this was not too technical!
How about: