(e.g. Synapse, Fediverse Server, …)
This is the server that hosts the application.
(e.g. FluffyChat, Fedilab, Tox Push Message App)
This is the application used by the end user to connect to the Application Server and to interact with it.
This is the content that the Application Server wants to send to the end user Application.
This is the whole system used to deliver the push messages from the Application Server to the end user Application.
Or Application Server Protocol (e.g. Matrix push gateway api)
This is the protocol the Application Server uses to send push messages.
(e.g. UnifiedPush-common-proxies, Nginx)
The Push Gateway is used for conversion and/or proxying of messages from Application Server to the Push Server. If the Application Push Protocol and the Push Server Receiving Protocol are the same, and the Application Server can reach the Push Server, then the gateway is not necessary.
If the application server can not reach the push server the Push Gateway can also act as a normal Proxy, even if the application push protocol and the Push Server Receiving Protocol are the same.
This is the protocol the Push Server uses to receive push messages.
This is the protocol the Push Distributor uses to receive push messages from the Push Server. If the Push Distributor acts as the Push Server, then this is just the Push Server Receiving Protocol.
If the Push Server 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 independent and push server dependant.
Or Push Provider Or Provider
(e.g. ntfy server, NextPush server, Google FirebaseCloudMessaging)
This is the server that listens for incoming push messages using its Push Server Receiving Protocol and forwards it to the connected Push Distributor using the Distributor Receiving Protocol .
(e.g. ntfy app, NextPush Android, UP-FCM Distributor)
This is the application that forwards push messages to the registered end user Application. It is the application which is connected to the Push Server.
(e.g. the UnifiedPush Libraries (Android, Flutter…))
This is the library used by the end user Application to register for and receive forwarded push notifications at the Push Distributor.
This is the URL of the Rewrite Proxy (if there is one, otherwise it is from the Push Server) where push messages are sent to for a specific end user Application, from the Push Gateway.