클라이언트(고객)는 서비스를 사용하는 사용자 혹은 사용자의 단말기를 가리키는 말이다.

서버(Server)란 서비스를 제공하는 컴퓨터이며, 다수의 클라이언트를 위해 존재하기 때문에 일반적으로 매우 큰 용량과 성능을 가지고 있었다. 그러나 웹 2.0에서는 클라이언트이자 동시에 서버인 환경이 많아지면서 변화가 일고 있다.

클라이언트-서버 구조로 된 네트워크 프로그램을 작성하거나, 특정 시스템이 클라이언트-서버 구조로 만들어져 있다는 것은 클라이언트와 서버가 각자의 역할에 맞게 구성됨을 말한다. 대표적인 예로는 월드 와이드 웹이 있다. 웹사이트에서는 웹 서버(IIS, Apache)가 서버 역할을 하고, 사용자가 쓰는 웹 브라우저(파이어폭스 또는 MS의 인터넷 익스플로러)가 클라이언트 프로그램이 된다. 그러나, 근래는 네트워크 응용 프로그램들의 기능이 고도화 되어 클라이언트이면서 동시에 서버이거나, 그 역인 예도 종종 볼 수 있다.

또한 X 윈도 시스템도 클라이언트-서버 구조의 한 예이다. 클라이언트는 서버와 동일한 컴퓨터에 존재할 수도 있고 네트워크를 통하여 서버와 연결되어 있을 수도 있다. 그러므로 원격지에서도 X 응용 프로그램을 쉽게 불러올 수 있다.
클라이언트이자 서버인 경우가 많아지는 상황에서 변화가 생기고 있는 환경은?
웹 2.0