서버 , 클라이언트, 서버 시스템, 서버 소프트웨어
서버 사전적인 의미
네트워크에서 다른 컴퓨터나 소프트웨어와 같은 클라이언트에게 서비스를 제공하는 컴퓨터
컴퓨터에서 서버는 클라이언트에게 서비스를 제공합니다.
예를 들어, 웹브라우저를 사용할 때 웹 사이트에 엑세스하고 있을 것인데 이때 웹브라우저가 클라이언트 이고 웹사이트의 콘텐츠가 있는 컴퓨터가 서버입니다.
클라이언트와 서버시스템
서버의 처리는 클라이언트의 요청으로 시작됩니다. 서버는 단독으로 움직이는 것이 아니며 불특정 다수의 컴퓨터에 대해 일방적으로 서비스를 제공하는 것도 아닙니다. 서버는 클라이언트로부터 리퀘스트(요청)을 받아야 처리를 시작하고 서비스를 제공합니다. 서버가 클라이언트에 대해 서비스를 제공할 때는 서버와 클라이언트 사이에 다음과 같은 처리가 일어납니다.
1. 클라이언트가 서버에게 어떤 서비스를 요청합니다.
2. 서버는 요청에 응답하여 처리하여 수행합니다.
3. 서버는 처리 결과를 클라이언트에게 반환합니다.
4. 클라이언트는 처리 결과를 받습니다.
웨서비스에 적용해보겠습니다. 웹서비스에서 클라이언트는 Chrome, Internet Explorer, Safari 등과 같은 웹 브라우저 입니다. 이에 반해 서버는 웹 사이트르를 구섷앟는 파일이 저장되어 있는 컴퓨터(웹서버) 입니다.
이와 같이 서버와 클라이언트로 구성되어 있는 시스템을 클라이언트/서버 시스템 이라고 합니다. 클라이언트/서버 시스템은 서버에서 데이터를 인원적으로 쉽게 관리할 수 있기 때문에 대부분의 컴퓨터 시스템에 채택되고 있습니다.
여러가지의 서버
- 서버의 역할은 서비스에 의해 정해집니다.
인터넷에서 주고받고 있는 정보가 모드 서비스입니다. 매일 사용하는 웹사이트, 메일이 바로 서비스로 요즘 유행하고 있는 카카오톡, 트위터, 페이스북 모두 서비스 입니다.
다양한 서버, 다양한 서비스
컴퓨터 세계에는 셀 수 없을 정도로 많은 서비스가 있고 그 수만큼 서버의 역할이 있습니다. 정보 발신이나 온라인 쇼핑 등 여러가지 웹서비스를 웹 클라이언트에게 제공하는 컴퓨터는 웹 서버가 됩니다. 또한 메일을 송수신하는 서비스를 메일 클라이언트에게 제공하는 컴퓨터는 메일 서버가 됩니다. 사람에 따라서 웹서버를 HTTP 서버, HTTPS 서버라고 부르거나 메일 서버를 SMTP 서버, POP 서버라고 부르는 경우도 있습니다. 따라서 서비스에 따라 서버의 호칭이 결정됩니다.
서버 소프트웨어
웹서비스를 제공하는 소프트웨어는 웹서버 소프트웨어 이고, 그것이 작동하고 있는 컴퓨터 웹 서버가 됩니다. 또한 메일 서비스를 제공하는 소프트웨어는 메일 서버 소프트웨어로 그것이 작동하고 있는 컴퓨터가 메일 서버 입니다.
서버는 말하자면 서버 소프트웨어가 제공하는 기능입니다. 따라서 컴퓨터나 스마트폰에서 작동하는 애플리케이션 소프트웨어와 마찬가지로 한 대의 컴퓨터에 여러 개의 서버 소프트웨어를 작동시킬 수 있습니다.
요약해서 말하자면, 서버를 구축한다는 것은 서버 소프트웨어를 컴퓨터 인스톨하여 실행시킨다는 것입니다. 평소에 사용하는 데스크톱 컴퓨터, 노트북에서 서버 소프트웨어를 작동시키면 그것이 서버가 됩니다.
서비스별로 서버 소프트웨어가 있는데 예를 들어 웹 서버 소프트웨어를 인스톨하여 실행시키면 웹서버가 됩니다.
웹서버 소프트웨어에는 Apache, IIS, nginx 등 제품들이 있습니다. 그리고 한대의 컴퓨터에서 여러개의 서버 소프트웨어를 작동시킬 수 있는데 물론 한대를 한 종류의 서버로 사용할 수 도 있습니다. 참고로 메일 서버 겸 DNS 서버로 역할이 다른 서버를 하나의 컴퓨터에 공존시켜 한정된 리소스를 잘 활용하는 방법도 있습니다.
어떤 서버를 구축할 것인가
예를 들어 인터넷에 연결하고 싶다라는 요구가 있을 때, 도메인명을 IP 주소로 변환하는 서비스를 제공하는 캐시 DNS 서버가 필요합니다. 또는 모든 사람과 데이터를 공유하고 싶다 라는 요구가 있는 경우는 데이터를 일원 관리할 파일 서버가 필요합니다. 사용할 사용자와 시스템의 요구 사항들을 들어서 잘 정의해 가면 어떤 서버를 마련해야 할 지 답이 저절로 보일 것입니다.
어떤 서버 소프트웨어를 인스톨할 것인가?
지원하는 OS, 프로그램 환경, 비용, 요구되는 환경 등 여러 가지 요소를 바탕으로 다각적으로 고려하여 결정해 갑니다. 서버 소프트웨어는 일반적으로 사용하는 것이 미리 정해져 있어서 대부분 그 중에서 골라 사용합니다.
예를 들어 웹서버 소프트웨어는 오픈소스 소프트웨어인 아파치, 윈도우즈 서버에 들어있는 IIS, 하나를 사용하는 경우가 대부분입니다.