client/server ; 클라이언트/서버

클라이언트/서버는 두 개의 컴퓨터 프로그램 사이에 이루어지는 역할 관계를 나타내는 것이다. 클라이언트는 다른 프로그램에게 서비스를 요청하는 프로그램이며, 서버는 그 요청에 대해 응답을 해주는 프로그램이다. 클라이언트/서버 개념은 단일 컴퓨터 내에서도 적용될 수 있지만, 네트웍 환경에서 더 큰 의미를 가진다. 네트웍 상에서의 클라이언트/서버 모델은 여러 다른 지역에 걸쳐 분산되어 있는 프로그램들을 연결시켜주는 편리한 수단을 제공한다.

클라이언트/서버 모델을 이용하여 거래내용을 처리하는 것은 매우 보편적인 일이다. 예를 들어, 누군가 자신의 은행계좌 내역을 조회하려고 하는 경우, 먼저 자신의 PC에 있는 클라이언트 프로그램이 은행에 위치한 거래 서버에 그 요구사항을 전송하게 되고, 거래 서버는 다시 계좌내역을 검색해주는 일을 하는 데이터베이스 서버에 그 요구사항을 보내게 된다. 데이터베이스 서버가 계좌내역을 검색하여 그 내용을 거래 서버에 보내면, 거래 서버는 다시 그 내용을 계좌 내역을 요구한 PC의 클라이언트 프로그램으로 보냄으로써, 최종적으로 화면에 나타나게 된다.

클라이언트/서버 모델은 네트웍 컴퓨팅의 주요 개념이 되었다. 오늘날 만들어지고 있는 대부분의 업무용 프로그램들은 클라이언트/서버모델을 적용하고 있으며, 인터넷의 주요 프로그램인 TCP/IP 또한 마찬가지다. 인터넷의 경우를 예를 들면 웹 브라우저는 인터넷상의 어딘가에 위치한 웹서버에게 웹 페이지나 파일의 전송을 요구하는 클라이언트 프로그램이다.

일반적인 클라이언트/서버 모델에서는, 보통 데몬(daemon)이라 불리는 서버프로그램이 먼저 활성화된 상태에서 클라이언트의 요구사항을 기다리는데, 대체로 다수의 클라이언트 프로그램이 하나의 서버 프로그램을 공유한다.

컴퓨터를 판매하기 위한 마케팅 측면에 있어서 클라이언트/서버란 용어는 여러 대의 소형 컴퓨터들로 구성된 분산 컴퓨팅 구조와, 하나의 메인 컴퓨터로 구성된 중앙집중식 컴퓨팅 구조를 구별하기 위해 사용되어 왔다. 그러나 이런 차이점은 메인프레임과 그 응용프로그램들이 클라이언트/서버 모델과 혼합되어 네트웍 컴퓨팅 구조의 일부분이 되면서 거의 사라졌다.


이 정보는 1999년 5월 6일에 수정되었으며, 강봉순님께서 도움을 주셨습니다.
영어판(whatis.com)