In the specification of the HTTP protocol, more precisely in the RFC 7230 , the possibility of intermediate entities between the < in entity (AU), the entity that performs the HTTP request, and the origin server (O) entity that will respond to the request.
The arrows to the right indicate the path of the HTTP request and the arrows to the left indicate the path of the HTTP response. Entities A, B, and C are the intermediary entities that communicate with each other, through the user agent or origin server through four HTTP connections.
The three intermediate entities described are:
Given that each intermediate entity can operate as a origin server , proxy , gateway or tunnel , depending of the nature of the HTTP request that will be dealt with by it.
What I would like to know is what is the difference between the three types of intermediary entities and when each is used in practice. It is also possible if there is only one intermediary entity or if they are related to the point of only existing one another.