Push notifications allow messages to be sent from a server to a device. There are two types - Push Essentials, which does not support status requests, and Push Plus, which does support status requests. Push notifications use an architecture involving mobile devices, application servers, a push initiator, push server, and push proxy gateway. Messages are structured according to the PAP standard and involve a registration phase where devices register with the push server and a push phase where messages are sent. Programming push notifications is made easier using NodeJS modules.