Skip to content
Main menu
  • Main page
  • Discover
  • Unexpected connections
  • Topics
  • Random article
  • Search
Your library
  • Saved articles
  • Recent discoveries
  • Rabbit-hole trails
Topic areas
  • Computer Science
  • Mathematics
  • Physics
  • Engineering
  • Biology
  • Economics
  • Curiosities
WikiholeDeeper into Wikipedia
EnglishEN
  • Saved
  • History

  • Article text and media come live from Wikipedia via the official MediaWiki API and are available under the Creative Commons Attribution-ShareAlike 4.0 License; additional terms may apply. Each article links to its source and revision.
  • WikiHole is an independent project and is not affiliated with the Wikimedia Foundation.
  • How ranking works
  • All topics
  • Reading history
  • Random article
  • MediaWiki API

Client–server model

  • Article
  • Rabbit hole
  • Read
  • View history
Tools
Actions
  • Read
  • View history
General
  • Recent changes
  • Related articles
  • Random discovery
This article
Reading time
11 min
Topic
Computer Science
Quality
C-class
Views
2k in 14 days
Last edited
4 Nov 2026
Print/export
  • Printable version
In other projects
  • Wikidata item
From Wikipedia, the free encyclopedia
Rabbit hole:
  1. Client–server model
Client–server model
Distributed application structure in computing

The client–server model is a form of messaging pattern in a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients.1 Often clients and servers communicate over a computer network on separate hardware, but both client and server may be on the same device. A server host runs one or more server programs, which share their resources with clients. A client usually does not share its computing resources, but it requests content or service from a server and may share its own content as part of the request. Clients, therefore, initiate communication sessions with servers, which await incoming requests. Examples of computer applications that use the client–server model are email, network printing, and the World Wide Web.

Loading the rest of the article…

Recent changes

Rabbit hole

Where Client–server model leads. Every connection below has a source: a link in this article, a shared Wikipedia category, or CirrusSearch text similarity. Articles already on your trail are left out.

Contents
  • (Top)
  • Client and server role
  • Client and server communication
  • Example
  • Server-side
  • Client side
  • Early history
  • Centralized computing
  • Comparison with peer-to-peer architecture
  • See also
  • Notes
  • Recent changes
  • Rabbit hole
Contents
Contents12 sections
  • (Top)
  • Client and server role
  • Client and server communication
  • Example
  • Server-side
  • General concepts
  • Computer security
  • Examples
  • Client side
  • General concepts
  • Computer security
  • Examples
  • In-browser computation and WebAssembly
  • Early history
  • Client-host and server-host
  • Centralized computing
  • Comparison with peer-to-peer architecture
  • See also
  • Notes
  • Recent changes
  • Rabbit hole
Study aids for Client–server model

Terminology

inter-server
Communication between servers, such as to synchronize data, is sometimes called inter-server or server-to-server communication.

Terms the article defines in bold, quoted in context.

Categories:
  • Servers (computing)
  • Clients (computing)
  • Application layer protocols
  • Inter-process communication
  • Network architecture
  • Distributed computing architecture

2,578 words · 29 references · revision 1383759657 · CC BY-SA 4.0

General
  • Recent changes
  • Related articles
  • Random discovery
This article
Reading time
11 min
Topic
Computer Science
Quality
C-class
Views
2k in 14 days
Last edited
4 Nov 2026

Key concepts

  • Server (computing)4
  • Client (computing)4
  • Messaging pattern2
  • Distributed application1
  • Computer networking device1
  • Web server3
  • Computer security4
  • Communications protocol3
  • Web browser3
  • Distributed computing3

The articles this one links to most, weighted towards the introduction.

Print/export
  • Printable version
In other projects
  • Wikidata item

Client and server role

The server component provides a function or service to one or many clients, which initiate requests for such services. Servers are classified by the services they provide. For example, a web server serves web pages and a file server serves computer files. A shared resource may be any of the server computer's software and electronic components, from programs and data to processors and storage devices. The sharing of resources of a server constitutes a service.

Whether a computer is a client, a server, or both, is determined by the nature of the application that requires the service functions. For example, a single computer can run a web server and file server software at the same time to serve different data to clients making different kinds of requests. The client software can also communicate with server software within the same computer.2 Communication between servers, such as to synchronize data, is sometimes called inter-server or server-to-server communication.

Client and server communication

Generally, a service is an abstraction of computer resources and a client does not have to be concerned with how the server performs while fulfilling the request and delivering the response. The client only has to understand the response based on the relevant application protocol, i.e. the content and the formatting of the data for the requested service.

Clients and servers exchange messages in a request–response messaging pattern. The client sends a request, and the server returns a response. This exchange of messages is an example of inter-process communication. To communicate, the computers must have a common language, and they must follow rules so that both the client and the server know what to expect. The language and rules of communication are defined in a communications protocol. All protocols operate in the application layer. The application layer protocol defines the basic patterns of the dialogue. To formalize the data exchange even further, the server may implement an application programming interface (API).3 The API is an abstraction layer for accessing a service. By restricting communication to a specific content format, it facilitates parsing. By abstracting access, it facilitates cross-platform data exchange.4

A server may receive requests from many distinct clients in a short period. A computer can only perform a limited number of tasks at any moment, and relies on a scheduling system to prioritize incoming requests from clients to accommodate them. To prevent abuse and maximize availability, the server software may limit the availability to clients. Denial of service attacks are designed to exploit a server's obligation to process requests by overloading it with excessive request rates. Encryption should be applied if sensitive information is to be communicated between the client and the server.

Example

When a bank customer accesses online banking services with a web browser (the client), the client initiates a request to the bank's web server. The customer's login credentials are compared against a database, and the webserver accesses that database server as a client. An application server interprets the returned data by applying the bank's business logic and provides the output to the webserver. Finally, the webserver returns the result to the client web browser for display.

In each step of this sequence of client–server message exchanges, a computer processes a request and returns data. This is the request-response messaging pattern. When all the requests are met, the sequence is complete.

This example illustrates a design pattern applicable to the client–server model: separation of concerns.

Server-side

See also: Backend (computing), Server-side scripting, and Server Side Includes (SSI)

Server-side refers to programs and operations that run on the server. This is in contrast to client-side programs and operations which run on the client.

General concepts

"Server-side software" refers to a computer application, such as a web server, that runs on remote server hardware, reachable from a user's local computer, smartphone, or other device.5 Operations may be performed server-side because they require access to information or functionality that is not available on the client, or because performing such operations on the client side would be slow, unreliable, or insecure.

Client and server programs may be commonly available ones such as free or commercial web servers and web browsers, communicating with each other using standardized . Or, may write their own server, client, and which can only be used with one another.

Client side

See also: Client-side prediction, Front-end (computing), and Pagination § In web browsers

Client-side refers to operations that are performed by the client in a computer network.

General concepts

Typically, a client is a computer application, such as a web browser, that runs on a user's local computer, smartphone, or other device, and connects to a server as necessary. Operations may be performed client-side because they require access to information or functionality that is available on the client but not on the server, because the user needs to observe the operations or provide input, or because the server lacks the processing power to perform the operations in a timely manner for all of the clients it serves. Additionally, if operations can be performed by the client, without sending data over the network, they may take less time, use less bandwidth, and incur a lesser security risk.

When the server serves data in a commonly used manner, for example according to standard protocols such as or , users may have their choice of a number of client programs (e.g. most modern web browsers can request and receive data using both HTTP and FTP). In the case of more specialized applications, may write their own server, client, and which can only be used with one another.

Early history

An early form of client–server architecture is remote job entry, dating at least to OS/360 (announced 1964), where the request was to run a job, and the response was the output.

While formulating the client–server model in the 1960s and 1970s, computer scientists building ARPANET (at the Stanford Research Institute) used the terms server-host (or serving host) and user-host (or using-host), and these appear in the early documents RFC 515 and RFC 4.16 This usage was continued at Xerox PARC in the mid-1970s.

One context in which researchers used these terms was in the design of a computer network programming language called Decode-Encode Language (DEL).15 The purpose of this language was to accept commands from one computer (the user-host), which would return status reports to the user as it encoded the commands in network packets. Another DEL-capable computer, the server-host, received the packets, decoded them, and returned formatted data to the user-host. A DEL program on the user-host received the results to present to the user. This is a client–server transaction. Development of DEL was just beginning in 1969, the year that the United States Department of Defense established ARPANET (predecessor of Internet).

Client-host and server-host

Centralized computing

Further information: History of personal computers, Decentralized computing, and Computer cluster

The client-server model does not dictate that server-hosts must have more resources than client-hosts. Rather, it enables any general-purpose computer to extend its capabilities by using the shared resources of other hosts. Centralized computing, however, specifically allocates a large number of resources to a small number of computers. The more computation is offloaded from client-hosts to the central computers, the simpler the client-hosts can be.20 It relies heavily on network resources (servers and infrastructure) for computation and storage. A diskless node loads even its operating system from the network, and a computer terminal has no operating system at all; it is only an input/output interface to the server. In contrast, a rich client, such as a personal computer, has many resources and does not rely on a server for essential functions.

As microcomputers decreased in price and increased in power from the 1980s to the late 1990s, many organizations transitioned computation from centralized servers, such as mainframes and minicomputers, to rich clients.21 This afforded greater, more individualized dominion over computer resources, but complicated . During the 2000s, matured enough to rival developed for a specific . This maturation, more affordable , and the advent of were among the factors that gave rise to the trend of the 2010s.

Comparison with peer-to-peer architecture

In addition to the client-server model, distributed computing applications often use the peer-to-peer (P2P) application architecture.

In the client-server model, the server is often designed to operate as a centralized system that serves many clients. The computing power, memory and storage requirements of a server must be scaled appropriately to the expected workload. Load-balancing and failover systems are often employed to scale the server beyond a single physical machine.2526

Load balancing is defined as the methodical and efficient distribution of network or application traffic across multiple servers in a server farm. Each load balancer sits between client devices and backend servers, receiving and then distributing incoming requests to any available server capable of fulfilling them.

In a peer-to-peer network, two or more computers (peers) pool their resources and communicate in a decentralized system. Peers are coequal, or equipotent nodes in a non-hierarchical network. Unlike clients in a client-server or client-queue-client network, peers communicate with each other directly.27 In peer-to-peer networking, an algorithm in the peer-to-peer communications protocol balances , and even peers with modest resources can help to share the load. If a node becomes unavailable, its shared resources remain available as long as other peers offer it. Ideally, a peer does not need to achieve because other, peers make up for any resource ; as the availability and load capacity of peers change, the protocol reroutes requests.

See also

  • Endpoint security
  • Front and back ends
  • Modular programming
  • Observer pattern
  • Publish–subscribe pattern
  • Peer-to-peer
  • Pull technology
  • Push technology
  • Remote procedure call
  • Server change number
  • Systems Network Architecture, a proprietary network architecture by IBM
  • Thin client
  • Configurable Network Computing, a proprietary client-server architecture by JD Edwards

Notes

  1. 1"Distributed Application Architecture" (PDF). Sun Microsystem. Archived from the original (PDF) on 6 April 2011. Retrieved 2009-06-16.
  2. 2The X Window System is one example.
  3. 3Benatallah, B.; Casati, F.; Toumani, F. (2004). "Web service conversation modeling: A cornerstone for e-business automation". IEEE Internet Computing. 8: 46–54. doi:10.1109/MIC.2004.1260703. S2CID 8121624.
  4. 4Dustdar, S.; Schreiner, W. (2005). "A survey on web services composition" (PDF). International Journal of Web and Grid Services. 1: 1. doi:10.1504/IJWGS.2005.007545.
  5. 5"What do client side and server side mean? Client side vs. server side". Cloudflare. Retrieved 17 April 2025.
  6. 6
protocols
programmers
communications protocol

Server-side operations include both those that are carried out in response to client requests, and non-client-oriented operations such as maintenance tasks.67

Computer security

In a computer security context, server-side vulnerabilities or attacks refer to those that occur on a server computer system, rather than on the client side, or in between the two. For example, an attacker might exploit an SQL injection vulnerability in a web application in order to maliciously change or gain unauthorized access to data in the server's database. Alternatively, an attacker might break into a server system using vulnerabilities in the underlying operating system and then be able to access database and other files in the same manner as authorized administrators of the server.8910

Examples

In the case of distributed computing projects such as SETI@home and the Great Internet Mersenne Prime Search, while the bulk of the operations occur on the client side, the servers are responsible for coordinating the clients, sending them data to analyze, receiving and storing results, providing reporting functionality to project administrators, etc. In the case of an Internet-dependent user application like Google Earth, while querying and display of map data takes place on the client side, the server is responsible for permanent storage of map data, resolving user queries into map data to be returned to the client, etc.

Web applications and services can be implemented in almost any language, as long as they can return data to standards-based web browsers (possibly via intermediary programs) in formats which they can use.

HTTP
FTP
programmers
communications protocol

Programs that run on a user's local computer without ever sending or receiving data over a network are not considered clients, and so the operations of such programs would not be termed client-side operations.

Computer security

In a computer security context, client-side vulnerabilities or attacks refer to those that occur on the client / user's computer system, rather than on the server side, or in between the two. As an example, if a server contained an encrypted file or message which could only be decrypted using a key housed on the user's computer system, a client-side attack would normally be an attacker's only opportunity to gain access to the decrypted contents. For instance, the attacker might cause malware to be installed on the client system, allowing the attacker to view the user's screen, record the user's keystrokes, and steal copies of the user's encryption keys, etc. Alternatively, an attacker might employ cross-site scripting vulnerabilities to execute malicious code on the client's system without needing to install any permanently resident malware.8910

Examples

Distributed computing projects such as SETI@home and the Great Internet Mersenne Prime Search, as well as Internet-dependent applications like Google Earth, rely primarily on client-side operations. They initiate a connection with the server (either in response to a user query, as with Google Earth, or in an automated fashion, as with SETI@home), and request some data. The server selects a data set (a server-side operation) and sends it back to the client. The client then analyzes the data (a client-side operation), and, when the analysis is complete, displays it to the user (as with Google Earth) and/or transmits the results of calculations back to the server (as with SETI@home).

In-browser computation and WebAssembly

In web browsers, client-side execution originally focused on user interface manipulation and asynchronous network requests via Ajax. Following the introduction of optimized JIT compilers in JavaScript engines (such as V8 in 2008) and the standardization of background multi-threading through Web Workers (W3C, 2009), browsers expanded to handle compute-intensive data transformations without freezing user interface threads.

In 2017, major browser vendors standardized and deployed WebAssembly (Wasm), a low-level binary code format providing a stack-based virtual machine operating within the browser sandbox.11 WebAssembly allows code compiled from C, C++, and Rust to execute at near-native speeds on typed linear memory buffers, shifting intensive workloads—including media transcoding, image manipulation, and local cryptographic hashing via the Web Cryptography API—directly to client hardware.12

In 2021–2022, analytical database engines were ported to WebAssembly (such as DuckDB-Wasm and SQLite-Wasm), enabling full SQL analytical query processing over local files (such as Apache Parquet) entirely within client memory without transmitting underlying raw datasets to remote application servers.13 This local execution model forms a key component of local-first software, aligning with data minimization principles by eliminating network transmission overhead and server hosting costs for data-intensive operations.14

Client-host and server-host have subtly different meanings than client and server. A host is any computer connected to a network. Whereas the words server and client may refer either to a computer or to a computer program, server-host and client-host always refer to computers. The host is a versatile, multifunction computer; clients and servers are just programs that run on a host. In the client–server model, a server is more likely to be devoted to the task of serving.

An early use of the word client occurs in "Separating Data from Function in a Distributed File System", a 1978 paper by Xerox PARC computer scientists Howard Sturgis, James Mitchell, and Jay Israel. The authors are careful to define the term for readers, and explain that they use it to distinguish between the user and the user's network node (the client).17 By 1992, the word server had entered into general parlance.1819

information technology management
20
22
23
web applications
application software
microarchitecture
mass storage
service-oriented architecture
cloud computing
24
load
28
high availability
redundant
downtime

Both client-server and master-slave are regarded as sub-categories of distributed peer-to-peer systems.29

"Introduction to the server side - Learn web development | MDN". developer.mozilla.org. 2023-11-05. Retrieved 2023-11-13.
  • 7"Server-side website programming - Learn web development | MDN". developer.mozilla.org. 2023-06-30. Retrieved 2023-11-13.
  • 8Lehtinen, Rick; Russell, Deborah; Gangemi, G. T. (2006). Computer Security Basics (2nd ed.). O'Reilly Media. ISBN 978-0-596-00669-3. Retrieved 2017-07-07.
  • 9JS (2015-10-15). "Week 4: Is There a Difference between Client Side and Server Side?". n3tweb.wordpress.com. Retrieved 2017-07-07.
  • 10Espinosa, Christian (2016-04-23). "Decoding the Hack" (PDF). alpinesecurity.com. Retrieved 2017-07-07.
  • 11Haas, Andreas; Rossberg, Andreas; Schuff, Derek L.; Titzer, Ben L.; Gohman, Dan; Wagner, Luke; Zakai, Alon; Bastien, JF; Holman, Michael (2017). "Bringing the Web up to Speed with WebAssembly". Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation. PLDI '17. pp. 185–200. doi:10.1145/3062341.3062363.
  • 12Jangda, Abhinav; Powers, Bobby; Berger, Emery D.; Guha, Arjun (2019). "Not So Fast: Analyzing the Performance of WebAssembly vs. Native Code". 2019 USENIX Annual Technical Conference (USENIX ATC 19). pp. 107–120.
  • 13Kohn, André; Moritz, Dominik; Raasveldt, Mark; Mühleisen, Hannes; Neumann, Thomas (2022). "DuckDB-Wasm: Fast Analytical Processing for the Web". Proceedings of the VLDB Endowment. 15 (12): 3554–3557. doi:10.14778/3554821.3554847.
  • 14Kleppmann, Martin; Wiggins, Adam; van Hardenberg, Peter; McGranaghan, Mark (2019). "Local-First Software: You Own Your Data, in Spite of the Cloud". Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software. Onward! 2019. pp. 154–178. doi:10.1145/3359591.3359737.
  • 15Rulifson, Jeff (June 1969). DEL. IETF. doi:10.17487/RFC0005. RFC 5. Retrieved 30 November 2013.
  • 16Shapiro, Elmer B. (March 1969). Network Timetable. IETF. doi:10.17487/RFC0004. RFC 4. Retrieved 30 November 2013.
  • 17Sturgis, Howard E.; Mitchell, James George; Israel, Jay E. (1978). "Separating Data from Function in a Distributed File System". Xerox PARC.
  • 18Harper, Douglas. "server". Online Etymology Dictionary. Retrieved 30 November 2013.
  • 19"Separating data from function in a distributed file system". GetInfo. German National Library of Science and Technology. Archived from the original on 2 December 2013. Retrieved 29 November 2013.
  • 20Nieh, Jason; Yang, S. Jae; Novik, Naomi (2000). "A Comparison of Thin-Client Computing Architectures". Academic Commons. doi:10.7916/D8Z329VF. Retrieved 28 November 2018.
  • 21d'Amore, M. J.; Oberst, D. J. (1983). "Microcomputers and mainframes". Proceedings of the 11th annual ACM SIGUCCS conference on User services - SIGUCCS '83. p. 7. doi:10.1145/800041.801417. ISBN 978-0-89791-116-0. S2CID 14248076.
  • 22Tolia, Niraj; Andersen, David G.; Satyanarayanan, M. (March 2006). "Quantifying Interactive User Experience on Thin Clients" (PDF). Computer. 39 (3). IEEE Computer Society: 46–52. doi:10.1109/mc.2006.101. S2CID 8399655.
  • 23Otey, Michael (22 March 2011). "Is the Cloud Really Just the Return of Mainframe Computing?". SQL Server Pro. Penton Media. Archived from the original on 3 December 2013. Retrieved 1 December 2013.
  • 24Barros, A. P.; Dumas, M. (2006). "The Rise of Web Service Ecosystems". IT Professional. 8 (5): 31. doi:10.1109/MITP.2006.123. S2CID 206469224.
  • 25Cardellini, V.; Colajanni, M.; Yu, P.S. (1999). "Dynamic load balancing on Web-server systems". IEEE Internet Computing. 3 (3). Institute of Electrical and Electronics Engineers (IEEE): 28–39. doi:10.1109/4236.769420. ISSN 1089-7801.
  • 26"What Is Load Balancing? How Load Balancers Work". NGINX. June 1, 2014. Retrieved January 21, 2020.
  • 27Alharbi, A.; Aljaedi, A. (2004). "Peer-to-Peer Network Security Issues and Analysis: Review". IJCSNS International Journal of Computer Science and Network Security. doi:10.1007/978-3-540-45172-3_6.
  • 28Rao, A.; Lakshminarayanan, K.; Surana, S.; Manning Karp, R. (2020). "Load Balancing in Structured P2P Systems". IJCSNS International Journal of Computer Science and Network Security. 20: 74–88.
  • 29Varma, Vasudeva (2009). "1: Software Architecture Primer". Software Architecture: A Case Based Approach. Delhi: Pearson Education India. p. 29. ISBN 978-81-317-0749-4. Retrieved 2017-07-04. “Distributed Peer-to-Peer Systems [...] This is a generic style of which popular styles are the client-server and master-slave styles.”
  • Created
    25 Sept 2001
    History
    1,814 edits
    1,112 contributors
    3 edits in the last 30 days
    Last edited
    4 Nov 2026

    1,814 revisions in total · 1,112 contributors · +125 / −125 bytes across 3 edits by 3 contributors in the last 30 days

    1. 4 Nov 2026, 18:03 UTCUnit MangomReverted 1 edit by NASSER588 (talk) to last revision by ~2026-55644-41−125diff
    2. 4 Nov 2026, 18:03 UTCNASSER588mrevertedhttps://youtube.com/shorts/EuKtTb9Py1g?si=7aTuczQzg6z8vR2K+125diff
    3. 16 Oct 2026, 21:24 UTCTemporary account§ See also …0diff
    4. 28 Sept 2026, 09:39 UTCIslamgamalayoubExpand client-side section with modern in-browser computation and WebAssembly execution models+3,304diff
    5. 24 Sept 2026, 16:25 UTCComp.archmNo edit summary+24diff
    6. 29 Aug 2026, 13:33 UTCMrOlliemReverted 1 edit by ~2026-46842-00 (talk) to last revision by FaviFake−65diff
    7. 29 Aug 2026, 12:49 UTCTemporary accountrevertedNo edit summary+65diff
    8. 25 Aug 2026, 14:12 UTCFaviFake§ Client side−8diff

    View full revision history

    Created
    25 Sept 2001
    History
    1,814 edits
    1,112 contributors
    3 edits in the last 30 days
    Last edited
    4 Nov 2026

    Go deeper: linked from this article

    • Listed under See also

      Peer-to-peer

      Type of decentralized and distributed network architecture

      Peer-to-peer (P2P) computing or networking is a distributed computing or networking architecture in which participants share part of their own resources, such as processing power, storage, or network capacity.

      22 min readGo deeper
    • Listed under See also

      Configurable Network Computing

      Configurable Network Computing or CNC is JD Edwards's (JDE) client–server proprietary architecture and methodology.

      8 min readGo deeper
    • Listed under See also

      Systems Network Architecture

      Proprietary networking architecture created by IBM

      Systems Network Architecture (SNA) is IBM's proprietary networking architecture, created in 1974. It is a complete protocol stack for interconnecting computers and their resources.

      14 min readGo deeper
    • Linked from the introduction

      Distributed computing

      System with multiple networked computers

      Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers.

      21 min readGo deeper
    • Listed under See also

      Remote procedure call

      Mechanism to allow software to execute a remote procedure

      In distributed computing, a remote procedure call (RPC) is an action in which a computer program causes a procedure (subroutine) to execute in a different address space of the current process…

      6 min readGo deeper
    • Listed under See also

      Thin client

      Simple computer for remote server access

      In computer networking, a thin client (sometimes called a slim client or lean client) is a simple, low-performance computer that has been optimized for remote desktop connections to a server-based computing environment.

      6 min readGo deeper
    • Linked from the introduction

      Messaging pattern

      Architectural pattern describing communication between systems

      In software architecture, a messaging pattern is an architectural pattern which describes how two different parts of an application, or different systems connect and communicate with each other.

      4 min readGo deeper
    • Linked from the introduction

      Server (computing)

      Computer providing a central resource or service

      A server is a computer or software system that provides data, resources, or services to other computers called "clients" on a computer network. This architecture is called the client–server model.

      10 min readGo deeper
    • Listed under See also

      Publish–subscribe pattern

      Messaging pattern in which senders and receivers do not directly communicate

      In software architecture, the publish–subscribe pattern (pub/sub) is a messaging pattern in which message senders, called publishers, categorize messages into classes (or topics), and send them without needing to know which components will receive them.

      5 min readGo deeper
    • Listed under See also

      Observer pattern

      Software design pattern based on an event-updated object with a list of dependents

      In software design and software engineering, the observer pattern is a software design pattern in which an object, called the subject (also known as event source or event stream), maintains a list of…

      9 min readGo deeper
    • Listed under See also

      Push technology

      Method of network communication where requests are sent by the publisher

      Push technology, also known as server push, is a communication method where the communication is initiated by a server rather than a client.

      8 min readGo deeper

    Adjacent: shared categories and similar text

    • Linked in “Client and server role”

      Data storage

      Recording of information in a storage medium

      Data storage is the recording (storing) of information (data) in a storage medium. Handwriting, phonographic recording, magnetic tape, and optical discs are all examples of storage media.

      4 min readGo deeper
    • Linked in “Client and server role”

      Web page

      Content provided by a website

      A web page, or webpage, sometimes contextually shortened to just page, is a document, typically published on the Web, and normally viewed using a web browser, which consists of hypertext and often additional components such as scripts and graphics.

      4 min readGo deeper
    • Shares category “Servers (computing)”

      Web server

      Computer software that distributes web pages

      A web server is computer software that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS.

      32 min readGo deeper