• ↑↓ to navigate
  • ↵ to open
  • ⟶ to select
  • ⌘ ⌥ ↵ to open in a panel
  • ←→ to navigate
  • esc to dismiss
⌘ '
keyboard shortcuts

The Problem

How do users interact with networked services? What handles the user interface and initiates requests to servers?

Core Idea

A client is a computer or software that requests services from a server. In the client-server model, the client is typically the front end, handling user interaction and presentation.

How It Works

  1. User Interface: Displays information and captures user input
  2. Request Initiation: Sends requests to servers for data or services
  3. Response Processing: Receives and processes server responses
  4. Local Processing: May perform some computation locally
  5. State Management: May maintain some client-side state

Clients can be web browsers, mobile apps, desktop applications, or any software that consumes server services.

Key Properties

  • Initiates requests to servers
  • Typically handles presentation and user interaction
  • Can be lightweight (thin client) or feature-rich (thick/rich client)
  • Runs on user devices, often less powerful than servers
  • May cache data for offline or performance reasons

Visual Explanation

client A Client Input B Client Core Mechanism A->B triggers C Client Output B->C produces

Semantic Network

semantic_client THIS Client REL1 Related Concept THIS--REL1 related REL2 Builds Into THIS--REL2 builds into

Connections

Builds into:

  • Front End — Client typically runs front end components

Related:

Edge Cases & Gotchas

  • Cannot securely store secrets (tokens, keys)
  • Limited by device capabilities
  • Network dependency affects functionality