(e.g. Synapse, Fediverse Server, …)
This is the server that hosts the application.
End User Application
This is the application used by the end user to connect to the Application Server and to interact with it.
Application Push Protocol
Or Application Server Protocol (e.g. Matrix push gateway api)
The Push Gateway is used for conversion and/or proxieing of messages from Application Server to the Push Provider. If the Application Push Protocol and the Provider Receiving Protocol are the same, and the Application Server can reach the Push Provider, then the gateway is not necessary.
Provider Receiving Protocol
Provider Push Protocol
Distributor Receiving Protocol
This is the protocol the Distributor Application uses to recive push messages from the Push Provider. So it is the same as the Provider Push Protocol, except if the Distributor Application acts as the Push Provider, then there is no Provider Push Protocol and this is just the Provider Receiving Protocol.
If the Provider Receiving Protocol needs anything else than the URI and a GET parameter to identify the end user application (eg. header, POST parameter) or need a special structure for POST data, then a rewrite proxy is used to convert the identifier in a URI or in a GET parameter and to forge the POST parameter content structure.
The rewrite proxy is application independant and provider dependant.
Or Push Notification Provider