서버(Sever)란 무엇일까?, 서버와 클라이언트

·

pipedollar

서버란 무엇일까

서버(Server)라는 용어는 어릴적부터 알게 모르게 자주 접해왔었기 때문에 누구나 어렴풋이는 알고 있다. 하지만 서버가 무엇인지 한번 설명해보라고 한다면 대부분 설명을 하지 못하는 경우가 다반수이다.

서버는 우리가 현대사회를 살아가면서 단 하루도 빠짐없이 접하고 있는 무언가이며, 이 글을 읽고 있는 사람들도 현재 내가 사용하고 있는 호스팅 서버로부터 텍스트 정보를 전달받아서 읽고 있는 것이다. ㅇㅇ

그리고 누구나 PC나 스마트폰을 사용하여 웹사이트에 접속하거나, 게임에 접속할 때 로딩 속도가 느려서 스트레스를 받았던 경험이 한 번쯤은 있었을 것이라고 생각한다.

나는 어린 시절에 메이플스토리라는 게임을 엄청 좋아했었는데, 이벤트 시간대에 동시 접속자가 너무 많으면 접속 자체가 안 되어버리는 상황을 자주 겪었었다..

그리고 이러한 상황에서 나도 모르게 “아 놔~ 서버 터졌네 ㅅㅂ”이라고 중얼거린 적이 많은데, 나는 그때부터 서버라는 개념은 몰라도 서버가 무엇인지 대강 이해하고 있었던 것이다.

서버(Server)란 무엇일까

서버Server

서버에 대한 예시로 우리가 스마트폰을 통해서 유튜브나 인스타그램에 접속한 뒤, 영상이나 이미지 콘텐츠를 보는 상황을 떠올려보자. 그런데 이러한 영상과 이미지는 원래부터 내 스마트폰에 존재하고 있던 것일까?

당연히 그렇지 않다. 다른 어딘가에 위치한 서버라고 부르는 컴퓨터에서 영상과 이미지 파일을 직접 나의 스마트폰으로 전송해주는 것이다. 즉 우리는 특정 콘텐츠를 보고 즐기기 위해 다른 서버로부터 서비스(Service)를 받고 있는 것이라고 할 수 있다.

이렇듯 서버의 역할에 대한 개념을 확실하게 정리하자면, 우리에게 이미지, 텍스트, 영상 등의 콘텐츠를 전송해 주거나, 반대로 우리에게 데이터를 전달받아서 저장해주는 서비스를 해주는 것이 바로 서버(Server)가 하는 역할이다.

그리고 이러한 서버로부터 서비스를 제공받는 손님의 역할을 하는 컴퓨터는 곧 ‘클라이언트(Client)’가 되는 것이다.

서버와 클라이언트

서버 클라이언트

서버라는 개념은 상대적인 개념이다. 따라서 서버라고 항상 서버의 입장만 되는 것은 아니다. 상황에 따라서 서버가 클라이언트의 입장이 되는 경우도 있다.

예를 들어서 우리가 맛집을 추천해주는 어플을 하나 다운로드 받았다고 가정해보자. 그리고 그 맛집 어플의 데이터 정보를 저장해두는 서버 컴퓨터가 어딘가에 위치해 있다고 가정해보자.

여기서 우리는 맛집에 대한 정보를 어플로부터 전달받기 때문에 클라이언트의 입장이 되고, 반대로 우리에게 정보를 전달해 주는 어플은 서버의 입장이 된다.

그런데 이때, 어플에서는 맛집 위치를 우리에게 전송해주기 위해서 다시 ‘네이버 지도’에 지리 정보 서비스를 요청하게 되고, 그 데이터를 받아서 나에게 다시 전송한다고 생각해 보자.

그러면 이 상황에서는 맛집 어플은 네이버 서버로부터 데이터를 수신하는 ‘클라이언트’ 입장이 되는 것과 동시에, 우리의 입장에서는 ‘서버’의 입장이 된다. 즉, 일종의 플랫폼 역할을 하게 되는 것이다.

데이터센터

하지만 우리는 흔히 서버(Server)라고 한다면, 인터넷 데이터 센터(IDC)를 떠올리는 경우가 많다. 아무래도 판교 데이터 센터 화재 사건의 영향 덕분에 더욱더 서버 = 데이터 센터라고 생각하게 되는 것 같다.

하지만 서버는 우리집 노트북도 서버가 될 수 있다. 물론 전원을 끄지 않고 계속 틀어놔야 되서 전기세도 많이 나오고 속도도 느리기 때문에 매우 비효율적이지만 말이다.

그래서 우리들은 워드프레스나 웹사이트를 제작할 때 24시간 운영되며 속도도 빠른 아마존 웹서비스(aws)나, 클라우드 웨이즈와 같은 호스팅 업체에서 서버를 임대해서 쓰는 것이다.

끝.

관련 글 : CDN(Content Delivery Network)이란 무엇일까? [CDN과 캐시]

Leave a Comment