Track progress, take quizzes and save notes on this lesson.

Free forever · no card needed

Start free
Intermediate

Web Technologies and Client Models

4.9.4.10 Client-server model·4.9.4.11 Thin- and thick-client computing

Aligned to the AQA 7517 specification

Level
Intermediate
Reading time
6 min
Published
13 June 2026
Updated
1 July 2026
On this page
  1. 1.The Client-Server Model
  2. 2.WebSocket: Full-Duplex Communication
  3. 3.REST APIs
  4. 4.JSON and XML
  5. 5.Thin Client vs Thick Client
  6. 6.Common Exam Mistakes

Key takeaways

  • In the client-server model communication is always initiated by the client, which sends a request, and answered by the server; HTTP is stateless, so each request-response pair is independent.
  • WebSocket provides a full-duplex persistent TCP connection established via an HTTP upgrade request, letting either side send data at any time with low per-message overhead, ideal for real-time applications.
  • REST is an architectural style, not a protocol; a RESTful API exposes resources via URLs, uses standard HTTP methods, is stateless, and typically returns JSON or XML.
  • CRUD operations map to HTTP methods: Create to POST, Read to GET, Update to PUT/PATCH and Delete to DELETE.
  • A thin client relies on the server for most processing and storage, while a thick client performs significant processing locally and can work offline.

The Client-Server Model

In the client-server model, communication is always initiated by the client (which sends a request) and the server (which sends a response).

HTTP request-response cycle:

HTTP is stateless — each request-response pair is independent. The server holds no record of previous requests from the same client. Cookies and session tokens are used at the application layer to simulate stateful sessions.

CRUD operations map to HTTP methods:

CRUDHTTP methodMeaning
CreatePOSTSubmit new data to the server
ReadGETRetrieve data from the server
UpdatePUT / PATCHUpdate existing resource
DeleteDELETERemove a resource

WebSocket: Full-Duplex Communication

Standard HTTP is request-response: the client must ask before the server can respond. This creates a problem for real-time applications (live chat, stock prices, multiplayer games) — the client must poll repeatedly.

WebSocket provides a full-duplex persistent TCP connection between a browser and a server.

  • The connection is established with an HTTP upgrade request: Upgrade: websocket
  • Once established, either side can send data at any time without waiting for a request
  • The connection remains open until explicitly closed
  • Much lower overhead per message than repeated HTTP requests

Use cases: live chat, real-time dashboards, collaborative editing, multiplayer games, live sports scores.

Comparison:

HTTPWebSocket
Initiated byClient onlyEither party
ConnectionNew connection per requestPersistent single connection
DirectionHalf-duplex (request/response)Full-duplex
OverheadHigh (headers each request)Low after handshake
UseStandard web pages, APIsReal-time, live data

REST APIs

REST (Representational State Transfer) is an architectural style for designing web APIs. A RESTful API exposes resources via URLs and uses standard HTTP methods (GET, POST, PUT, DELETE) to act on them.

Example RESTful API:

MethodURLCRUD operationAction
GET/api/users/42ReadRetrieve user with ID 42
POST/api/usersCreateCreate a new user
PUT/api/users/42UpdateReplace user 42
PATCH/api/users/42UpdatePartially update user 42
DELETE/api/users/42DeleteRemove user 42

Key REST properties:

  • Stateless: each request contains all information needed — no server-side session state
  • Resource-oriented: everything is a resource identified by a URL
  • Uses standard HTTP methods consistently
  • Responses typically return JSON or XML

JSON and XML

JSON (JavaScript Object Notation):

{
  "id": 42,
  "name": "Alice",
  "email": "alice@example.com",
  "scores": [95, 87, 91]
}

Lightweight, human-readable, directly usable in JavaScript. Standard format for REST APIs and web data exchange.

XML (eXtensible Markup Language):

<user>
  <id>42</id>
  <name>Alice</name>
  <email>alice@example.com</email>
  <scores>
    <score>95</score>
    <score>87</score>
    <score>91</score>
  </scores>
</user>

More verbose than JSON; supports validation schemas (XSD) and namespaces; used in legacy enterprise systems and document exchange formats.

JSON vs XML:

JSONXML
VerbosityLess verboseMore verbose
ReadabilityEasy for humans and machinesReadable but bulkier
Schema supportLimitedStrong (XSD)
Typical useWeb APIs, JavaScript appsLegacy systems, document exchange

Studying this for an exam?

Generate a personalised learning path for this subject. Free to get started.

Create a learning path

Thin Client vs Thick Client

Thin client: minimal local processing — the client device relies on a server for most computation and data storage.

  • The client mainly handles input/output and display
  • Heavy processing (business logic, database queries) runs on the server
  • Clients are cheap and simple to maintain — updates happen on the server
  • Requires a reliable network connection; no network = no functionality
  • Examples: web browser accessing a cloud application, terminal accessing a mainframe

Thick (fat) client: performs significant processing locally — the client handles application logic, and may store data locally.

  • Less reliance on server during use — can work offline
  • More powerful client hardware required
  • Updates must be deployed to each client device
  • Examples: desktop applications (Photoshop, Outlook), mobile apps, local IDEs
Thin clientThick client
ProcessingOn serverOn client
StorageServerLocal (possibly + server)
Network dependencyHighLower
Client hardware costLowHigher
MaintenanceEasy (centralised)Harder (per-device updates)
Offline capabilityLimitedGood

Common Exam Mistakes

1. Stating WebSocket is a replacement for HTTP

WebSocket is used for real-time, full-duplex communication. It does not replace HTTP — a WebSocket connection is initiated with an HTTP upgrade handshake, and most web communication still uses standard HTTP. They complement each other.

2. Confusing GET and POST

GET retrieves data; parameters are in the URL. POST submits data; parameters are in the request body (not visible in the URL). GET requests are idempotent (repeating them has no side effects); POST creates or updates resources.

3. Claiming thin clients cannot function without a network

Thin clients have very limited offline capability — but the point is not "cannot function at all" — it is that they rely on the server for most processing and storage. A thin client's value proposition is centralised management, not offline use.

4. Confusing REST with a protocol

REST is an architectural style (a set of design constraints), not a protocol. It uses HTTP as its transport protocol. A "RESTful API" follows REST principles; it is not a different protocol from HTTP.

Key terms

Client-server model
A model where communication is always initiated by the client sending a request and answered by the server sending a response.
Stateless
Describes HTTP's property that each request-response pair is independent and the server holds no record of previous requests from the same client.
CRUD
Create, Read, Update, Delete: the four basic data operations, mapped to the HTTP methods POST, GET, PUT/PATCH and DELETE.
WebSocket
A protocol providing a full-duplex persistent TCP connection between browser and server, established via an HTTP upgrade request.
Full-duplex
Communication in which either side can send data at any time, as in a WebSocket connection.
REST
Representational State Transfer: an architectural style for web APIs that exposes resources via URLs and uses standard HTTP methods.
JSON
JavaScript Object Notation: a lightweight, human-readable data format directly usable in JavaScript and standard for REST APIs.
XML
eXtensible Markup Language: a more verbose data format that supports validation schemas (XSD) and namespaces, used in legacy and document-exchange systems.
Thin client
A client that does minimal local processing and relies on a server for most computation and data storage.
Thick client
A client (also called fat client) that performs significant processing locally and may store data locally, able to work offline.

Frequently asked questions

No. WebSocket is used for real-time, full-duplex communication, but it does not replace HTTP. A WebSocket connection is initiated with an HTTP upgrade handshake, and most web communication still uses standard HTTP, so the two complement each other.

No. REST (Representational State Transfer) is an architectural style, a set of design constraints, not a protocol. It uses HTTP as its transport protocol, so a RESTful API follows REST principles but is not a different protocol from HTTP.

A thin client does minimal local processing and relies on a server for most computation and storage, mainly handling input/output and display. A thick (fat) client performs significant processing locally, can work offline, but needs more powerful hardware and per-device updates.

Generate revision on any topic you study

Type any topic you're studying and Aicademy generates a complete lesson, quiz, and flashcard set, personalised to your level.

Lessons on anything

Structured, level-matched lessons on any topic you study

Practice quizzes

Find out what you actually know before the exam does

Flashcard sets

Lock in key concepts with instant revision cards

Ask Aica

Stuck on something? Get a clear explanation, any time

Prev

IP Addressing and Network Management

Next

Entity-Relationship Modelling and Relational Databases

Related lessons

Top students don’t revise more. They revise what counts.

Start revising free

Free to start. No card needed.