Pull coding or client pull is a style of
network communication where the initial
request for data originates from the
client, and then is responded to by the
server. The reverse is known as
push technology, where the server ''pushes'' data to clients.
Pull requests form the foundation of network computing, where many clients request data from centralized servers. Pull is used extensively on the
Internet
The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a ''internetworking, network of networks'' that consists ...
for
HTTP
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
page requests from
website
A website (also written as a web site) is a collection of web pages and related content that is identified by a common domain name and published on at least one web server. Examples of notable websites are Google, Facebook, Amazon, and Wikip ...
s.
A ''push'' can also be simulated using multiple ''pulls'' within a short amount of time. For example, when pulling
POP3 email messages from a server, a client can make regular pull requests every few minutes. To the user, the email then appears to be pushed, as emails appear to arrive close to real-time. The tradeoff is this places a heavier load on both the server and network to function correctly.
Most
web feeds, such as
RSS
RSS ( RDF Site Summary or Really Simple Syndication) is a web feed that allows users and applications to access updates to websites in a standardized, computer-readable format. Subscribing to RSS feeds can allow a user to keep track of many di ...
are technically pulled by the client. With RSS, the user's
RSS reader polls the server periodically for new content; the server does not send information to the client unrequested. This continual polling is inefficient and has contributed to the shutdown or reduction of several popular RSS feeds that could not handle the bandwidth.
[Sia, K. C., Cho, J., and Cho, H. K.,]
Efficient Monitoring Algorithm for Fast News Alerts, 2007
IEEE TKDE, Vol. 19, Issue 7, pp. 950-961 For solving this problem, the
WebSub protocol as another example of a push code was devised.
Podcasting is specifically a pull technology. When a new podcast episode is published to an RSS feed, it sits on the server until it is requested by a feed reader, mobile podcasting app, or directory. Directories such as
Apple Podcasts (
iTunes), The Blubrry Directory, and many apps' directories request the RSS feed periodically to update the Podcast's listing on those platforms. Subscribers to those RSS feeds via app or reader will get the episodes when they request the RSS feed next time, independent of when the directory listing updates.
See also
*
Push technology
*
Client–server model
The client–server model is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate ov ...
References
Internet terminology
Web development
{{www-stub