Push technology or server push describes a style of communication on the Internet where a transaction request originates from the server. In contrast to the pull technology, where the request is originated from the client. Push services are often based on information preferences. A customer must subscribe to multiple feeds. When new content is available in one of these channels, the server must send the information to the user.
Basics on Push Technology
The synchronized conferences and instant messaging are typical examples of the type ‘push’ services and typical usage of Push Technology. Chat messages and sometimes files are sent to the user as soon as they are received by the messaging system. Decentralized P2P programs (such as WASTE) and centralized (like IRC or Jabber) enable ‘push’ file. That is, the sender initiates the data transfer, instead of the recipient.
The email is a push technology too : the SMTP protocol on which it is based is a push protocol. However, the last step: from the mail server until it reaches the user’s desktop uses a pull protocol like POP3 or IMAP . Modern email clients make this step instantaneous (by the use of regular connection to mail server for checking new messages). The IMAP protocol includes the command IDLE , which enables the server to tell the client when new mail has arrived. BlackBerry Original was the first popular example of push technology in a wireless context.
Another popular example of push technology was PointCast Network , which gained popularity in the 90s. This was in the charge of distributing and storing data. Both Netscape and Microsoft integrated it into their programs during the browser wars , but was later replaced in 2000 by the RSS (one pull technology). Other uses of Web applications that make use of push technology, includes the distribution of market data (inventories), messaging systems / online chat ( webchat ), auctions, games and online casinos, sports results, monitoring consoles and networks.
More About PUSH Technology
HTTP server push
HTTP server push (also known as HTTP streaming) is a mechanism for sending data from a web server to a web browser. HTTP server push can be done through many mechanisms.
Generally the web server response does not end after the data has been sent to the client. The server leaves open so that if an event occurs, it can be immediately sent to one or many clients. Otherwise, the data should be placed in a queue until the next request is received. Many web hosts offer this functionality via CGI (e.g. NPH scripts in Apache).
Another mechanism is related to a special type MIME called multipart/x-mixed-replace, which was introduced by Netscape in 1995. Web browsers should interpret this as a change to the document when the server releases a new version to the client. Today this continues to be supported by Firefox, Opera and Safari, but traditionally ignored Microsoft. It can be applied to web documents.
Long polling is a variation of the traditional polling technique and allows to emulate information posted from a server to a client in a manner similar to normal polling. However, if the server has no information available to the client, instead of sending an empty response, the server saves the request and waits for any information available. Once the information is available (or after a set time), a complete response is sent to the client. Then the customer usually do a re-order information to the server, so that they always have a back order, which can be used to respond to an event.
Long polling is not itself a push technology, but can be used under circumstances where a real push is not possible.