Client and Server Characteristics

Most instances of applications that follow the client-server paradigm have the following general characteristics:

Client software:

  • Consists of an arbitrary application program that becomes a client temporarily whenever remote access is needed
  • Is invoked directly by a user, and executes only for one session
  • Runs locally on a user’s computer or device
  • Actively initiates contact with a server
  • Can access multiple services as needed, but usually contacts one remote server at a time
  • Does not require especially powerful hardware

Server software: 

  • Consists of a special-purpose, privileged program dedicated to providing
    a service
  • Is invoked automatically when a system boots, and continues to execute
    through many sessions
  • Runs on a dedicated computer system
  • Waits passively for contact from arbitrary remote clients
  • Can accept connections from many clients at the same time, but (usually)
    only offers one service
  • Requires powerful hardware and a sophisticated operating system

Sources: Comer, Douglas E.Computer Networks and Internets (6th Edition)