Client
Noun · Development
Definitions
In a client-server system, the party that initiates requests for data or services, which a server then fulfils. Web browsers, mobile apps, command-line tools, and other services calling an API are all clients. The word covers both software and, in older usage, the machine running it. Design choices are often framed by how much work the client does: a thin client relies on the server for most processing and rendering, while a thick or rich client, such as a single-page web application or desktop program, handles logic and state locally. Code is accordingly described as client-side or server-side. A core security rule follows from the model: never trust the client, because anyone can modify or replace it, so validation and authorisation must happen on the server. The term also has narrower meanings, such as a client library or SDK that wraps an API, and in OAuth, the application requesting access on a user's behalf.
In plain English: The app or device that asks a server for information, like your web browser asking a website's server to send you the page.
Related Terms
- ADR
- Distributed Systems
- Domain
- Game Loop
- Offline-First
- Protocol
- Reactive
- Remoting
- SPA
- State
- System Design
- Greenfield
- Screen Reader
- ARIA
- Latency vs Throughput
- TTL
- Local-First Software
- Epoll
- mDNS
- Rubber Banding
- Second System Effect
- Dark Debt
- DNS Propagation
- Endianness
- Custom Hook
- Deploy Hook
- Dynamic Proxy
- Frontend Build
- Frontend Framework
- Frontend Router
- Hook
- Message Bus
- Micro Frontend
- Network Layer
- Network Stack
- Options API
- Port Binding
- Pull Model
- Remote Procedure Call
- Request-Response
- Select
- Socket
- State Container
- State Management
- Communication Layer
- Custom Event