In computer networking, a proxy server is a server application that acts as an intermediary between a client requesting a resource and the server providing that resource. [1]
Let's learn via a scenario based approach to understand what is the request and response flow when a user (named, U) requests a resource (R) with a proxy (named, P) in between. Originally, R resides on server S.
1. U requests R

2. P acknowledges the request for R, from U
3. P requests S for R

4. S acknowledges the request for R, from P
5. S returns P with R

6. P acknowledges the response of R, from S
7. P returns R to U

This serves as a method to simplify or control the complexity of the request, or provide additional benefits such as load balancing, caching, privacy, and security.