reverse proxy
A reverse proxy is the program a call reaches first: it answers at the public address, checks the call, and passes it on to the machine that draws the document.
In more detail
Picture the doorman of a building. Everybody who arrives passes in front of him: he sees who it is, he checks that the person is expected, and he sends them up to the right floor. Nobody walks in from the street straight into an office, and no office needs a door of its own onto the pavement.
The same arrangement stands in front of a service. One of the two programs listens to the outside world and does nothing else; the engine that draws the documents listens only to the machine it runs on. A call arriving from the network can reach that engine one way and one way alone, which is the whole point.
They are not doing the same kind of work. The one in front reads calls, sorts them and hands them on, thousands at a time, without ever opening a document. The one behind draws pages, and nothing else.
What it does on a real document
Four jobs are its own on every call your program makes. It answers at the public address of the service, and it holds the certificate that puts the padlock on the connection, so what you send crosses the network unreadable to anybody watching the line.
It reads the service key the call carries and looks it up. A key it does not know is refused there and then, and nothing behind it is even woken. A key it knows becomes the name of the account that key belongs to, and that name is what it writes onto the call before handing it on: the engine is told which account is asking, and never told the key itself.
And it keeps the record of the visits — the moment, where the call came from, the answer given and how long it took. That record is what a missing document is looked for in. Neither the description you sent nor the document that came back is in it.
Where it comes from, and why
The arrangement is as old as the first sites with more than one machine behind one address. A small, fast program placed in front settled several things at once: one address for several services, one place to renew the certificate, one place to turn away calls that have no business being made.
Its English name says which way round it stands. The older kind of go-between sat in front of the people browsing and spoke to the web on their behalf; this one sits in front of the service and speaks to the callers on its behalf, which is the reverse. French says it the plain way round and calls it a front server: where it stands, rather than which way it faces.
See it on a finished document
The rules behind this word, and the texts they are read from
Glossary
- service key
- A long secret string your program sends with each request so the service knows the request is yours. It stands in for a password, and is never shown to anybody who visits a page. Most software calls it an API key, after the name for one program calling another.
- server
- A machine that waits for calls and answers them, running day and night with nobody sitting at it. The one that draws documents here holds the engine and hands back the finished pages; the one your website runs on is a different machine doing the same kind of job.