[1] In push technology, clients can express their preferences for certain types of information or data, typically through a process known as the publish–subscribe model.
Under certain conditions, such as restrictive security policies that block incoming HTTP requests, push technology is sometimes simulated using a technique called polling.
In these cases, the client periodically checks with the server to see if new information is available, rather than receiving automatic updates.
Both Netscape and Microsoft integrated push technology through the Channel Definition Format (CDF) into their software at the height of the browser wars, but it was never very popular.
Other uses of push-enabled web applications include software updates distribution ("push updates"), market data distribution (stock tickers), online chat/messaging systems (webchat), auctions, online betting and gaming, sport results, monitoring consoles, and sensor network monitoring.
The protocol consolidates all real-time events into a single session which ensures more efficient use of network and radio resources.
On September 1, 2006, the Opera web browser implemented this new experimental system in a feature called "Server-Sent Events".
[12] In this technique, the server takes advantage of persistent HTTP connections, leaving the response perpetually "open" (i.e., the server never terminates the response), effectively fooling the browser to remain in "loading" mode after the initial page load could be considered complete.
The server then periodically sends snippets of JavaScript to update the content of the page, thereby achieving push capability.
[15] For example, BOSH is a popular, long-lived HTTP technique used as a long-polling alternative to a continuous TCP connection when such a connection is difficult or impossible to employ directly (e.g., in a web browser);[16] it is also an underlying technology in the XMPP, which Apple uses for its iCloud push support.
This technique, used by chat applications, makes use of the XML Socket object in a single-pixel Adobe Flash movie.
Under the control of JavaScript, the client establishes a TCP connection to a unidirectional relay on the server.
The advantage of this approach is that it appreciates the natural read-write asymmetry that is typical of many web applications, including chat, and as a consequence it offers high efficiency.
In services such as cloud computing, to increase reliability and availability of data, it is usually pushed (replicated) to several machines.
For example, the Hadoop Distributed File System (HDFS) makes 2 extra copies of any object stored.