Proxy
Proxy bedeutet Stellvertreter. Ein Proxy-Server tritt anstelle eines anderen Systems in Erscheinung. Ein Proxy kann allen Traffic oder nur bestimmten Traffic weiterleiten, z.B. nur HTTP/HTTPS-Traffic (Web-Proxy).
Proxy-Server

Ein normaler Proxy-Server wird Clients vorgeschaltet. Ein Client sendet seinen Traffic an den Proxy-Server, welcher den Traffic seinerseits mit seiner eigenen IP-Adresse weiterleitet. Der Empfänger, z.B. ein Web-Server, erhält die Anfrage und schickt seine Antwort an den Proxy-Server. Dieser ersetzt im Paket seine IP-Adresse durch die des Clients und schickt das Paket an diesen zurück.
Durch einen solchen Proxy-Server wird die IP-Adresse des Clients vor dem Empfänger des Pakets verborgen, was ein Nachverfolgen einer Anfrage erschwert. Proxy-Server können aber auch noch andere Funktionalität bereitstellen, z.B. kann der Web-Proxy Squid als Cache-Server für Webseiten fungieren, was zumindest die Anzahl der Anfragen auf das Internet reduziert und zumindest theoretisch das Netzwerk entlastet.
Reverse Proxy Server

Die andere Art eines Proxy-Servers sind sogenannte Reverse Proxy Server. Reverse Proxy Server werden Servern vorgeschaltet. Der Client schickt seine Anfrage nicht direkt an das Backend (hier Webserver), sondern an den Proxy-Server. Dieser leitet die Anfragen dann an das Backend weiter, z.B. den Web-Server. Reverse Proxy Server implementieren dann Funktionalitäten wie Lastverteilung, High Availability etc.
Squid kann sowohl als Proxy-Server als auch als Reverse Proxy konfiguriert werden. Wikipedia nutzt Squid als Reverse Proxy mit aktiviertem HTTP/HTTPS-Cache und reduziert so die Anfragen auf die Webserver, da eine Seite im Cache nicht von den Web-Servern bezogen werden muss.
Es ist auch möglich, Proxy-Server und Reverse Proxy Server zu verketten.