There are basically two types of proxies: forward and reverse proxy. Usually, when people say „proxy,” they mean a forward proxy. If they want to talk about a reverse proxy, then they use the full name – reverse proxy.
What is a proxy?
A proxy is just a computer/machine/service between a client and a server.
Reverse vs Forward proxy
So, what is the difference between a reverse proxy and a forward proxy? The difference lies in the position of the proxy:

Therefore a forward proxy belongs to the client setup whereas reverse proxy belongs to the server setup.
Implications
So, when a client uses a forward proxy, the server does not communicate directly with the client but with the proxy, providing anonymity for the client. On the contrary, when it comes to a reverse proxy, the client does not know the server, providing anonymity for the server.
What it is used for?
1. Caching (forwar | reverse)
2. Load balancing (reverse)
TLS terminating
It’s worth mentioning here that proxies usually terminate TLS—this means that these computers/machines decrypt the messages. A forward proxy encrypts them again to create a secure connection. For a reverse proxy, this usually makes no sense.