Skip to content
Computer Science · 9th Grade · The Architecture of the Internet · Weeks 10-18

Introduction to Client-Server Model

Students will understand the basic client-server model and how it enables many internet applications.

Common Core State StandardsCSTA: 3A-NI-04

About This Topic

The client-server model is the organizational pattern behind most internet applications. A client is any device or program that requests data or services; a server is a program that receives those requests and responds. When a student opens Instagram, their phone sends a request to Instagram's servers; the server retrieves the relevant content from a database and sends it back. Every web browse, email check, and online game session involves this exchange, often many times per second.

Understanding the client-server model helps students see the internet not as a mysterious cloud but as a structured request-response system. This has practical implications: it explains why websites load slowly on congested networks, why server outages affect all users simultaneously, and why certain applications require a connection while others work offline. It also sets the conceptual foundation for understanding databases, APIs, and web development.

The contrast with peer-to-peer (P2P) networking is instructive. In P2P, every node can act as both client and server -- used in BitTorrent and some file-sharing systems. For some applications, P2P offers resilience advantages; for others, client-server's centralization is an asset. Active learning that has students map real applications to models builds genuine understanding of why different architectures exist.

Key Questions

  1. Explain the roles of clients and servers in internet communication.
  2. Identify examples of client-server interactions in daily online activities.
  3. Compare the advantages of a client-server model over a peer-to-peer model for certain applications.

Learning Objectives

  • Explain the distinct roles of client and server in a network request-response cycle.
  • Identify at least three distinct examples of client-server interactions in common internet applications.
  • Compare the advantages of a client-server architecture with a peer-to-peer architecture for specific use cases.
  • Analyze the impact of server availability on the functionality of internet-based services.

Before You Start

Basic Internet Concepts

Why: Students need a foundational understanding of what the internet is and how devices connect to it before learning about specific network models.

Introduction to Networking

Why: Understanding basic network communication, like sending and receiving data packets, is essential for grasping the request-response cycle.

Key Vocabulary

ClientA device or program that requests services or data from a server. Examples include web browsers, email applications, and game clients.
ServerA program or device that provides services or data in response to requests from clients. Web servers, mail servers, and game servers are common examples.
Request-Response CycleThe fundamental communication pattern where a client sends a request to a server, and the server processes the request and sends back a response.
Network ProtocolA set of rules that govern how data is exchanged between devices on a network, such as HTTP for web browsing.

Watch Out for These Misconceptions

Common MisconceptionA server is a special physical computer that looks different from a client machine.

What to Teach Instead

Any computer running server software can act as a server; the distinction is functional, not physical. A laptop running a local development server is simultaneously a client and a server. The role-play activity -- where students take turns being the server -- helps students see the roles as behaviors, not hardware categories.

Common MisconceptionPeer-to-peer is just a less reliable version of client-server.

What to Teach Instead

P2P and client-server solve different problems. P2P is more resilient to single-node failure and scales differently -- used effectively in distributed file systems and blockchain. The architectural choice involves tradeoffs, not quality levels. Mapping real applications to each model surfaces these tradeoffs concretely.

Active Learning Ideas

See all activities

Collaborative Mapping: What Happens When You Type a URL

Groups trace the complete journey of a single HTTP request from typing a URL to seeing the webpage. Each group member takes responsibility for one stage (DNS lookup, TCP connection, HTTP request, server processing, response rendering). They assemble the full sequence on a poster and present it.

40 min·Small Groups

Think-Pair-Share: Client or Server?

Students receive a list of 12 applications or actions (browsing a website, using BitTorrent, sending email, streaming Netflix, video calling) and individually classify each as primarily client-server or peer-to-peer. Pairs compare and reconcile differences, then the class resolves disagreements with evidence.

20 min·Pairs

Role-Play: Be the Server

One student plays a web server, one plays a client browser. The client requests resources from a menu; the server processes requests in order and simulates load by counting to three before responding. Multiple classmates can act as additional clients to simulate concurrent traffic. The class observes and discusses what they notice.

25 min·Whole Class

Simulation Game: Build a Classroom Internet

Students use index cards as request-response messages. One student at a central desk plays the server; others send request cards with a URL written on them. The server processes and returns response cards. Changing the scenario -- one server versus multiple, slow network versus fast -- illustrates why server architecture decisions matter.

30 min·Whole Class

Real-World Connections

  • Software engineers at Google use the client-server model to design and maintain services like Google Search and Gmail, ensuring millions of users can access information and communicate efficiently.
  • Video game developers, such as Blizzard Entertainment, employ client-server architectures for online multiplayer games like World of Warcraft, managing player interactions and game states centrally on servers.
  • Cloud computing providers like Amazon Web Services (AWS) build their entire infrastructure on the client-server model, offering scalable server resources that businesses worldwide can access as clients.

Assessment Ideas

Quick Check

Present students with a list of common online activities (e.g., streaming a video, sending an email, playing a local multiplayer game, downloading a file). Ask them to classify each as primarily client-server or peer-to-peer, and briefly justify their choice.

Exit Ticket

On an index card, have students draw a simple diagram illustrating a client making a request to a server and receiving a response. They should label the client, server, request, and response.

Discussion Prompt

Facilitate a class discussion: Imagine a popular social media app's servers go offline for an hour. What would happen to users trying to post updates or view their feeds? Why is this a consequence of the client-server model?

Frequently Asked Questions

What is the difference between a client and a server?
A client is any software that initiates a request for data or a service. A server is software that receives that request and sends a response. The same physical machine can run both -- a developer's laptop often has a local server running while the browser acts as the client. The roles are functional, not defined by hardware.
Why do most internet applications use the client-server model?
Client-server centralizes data and logic, making it easier to update, secure, and manage. When Netflix updates its recommendation engine, they update the server code once and every client immediately benefits. This centralization also makes it easier to enforce consistent behavior and protect user data -- advantages that outweigh the risk of central-point failure for most applications.
What is the difference between client-server and peer-to-peer?
In client-server, dedicated server machines handle requests from many clients. In peer-to-peer, every node can act as both client and server, distributing the load across the network. P2P is more resilient to node failures but harder to secure and manage. BitTorrent uses P2P for efficient file distribution; banking apps use client-server for auditability and security.
How does active learning help students understand the client-server model?
The request-response pattern is simple to describe but easy to forget in the abstract. When students physically role-play as clients and servers -- handling simultaneous requests with limited capacity -- they experience the constraints that drive real architectural decisions like load balancing and caching. That embodied experience makes the model memorable and useful when they encounter it in actual code.