
이 글에서 다루는 내용
스마트폰에서 쇼핑 앱을 열고 상품을 검색합니다.
화면은 내 스마트폰에 나타나고, 상품 정보와 회원 정보, 주문 기록 등은 서버나 다른 시스템에서 관리될 수 있습니다.
우리가 사용하는 많은 디지털 서비스는 사용자 기기와 다른 시스템이 서로 요청과 응답을 주고받으며 작동합니다.
이 구조를 이해하기 위해 가장 먼저 알아야 할 개념이 클라이언트(Client), 서버(Server), 인터넷(Internet)입니다.
클라이언트와 서버는 기기의 종류보다 역할로 구분한다
클라이언트와 서버를 이해할 때는 스마트폰, 노트북, 데이터센터의 컴퓨터처럼 기기의 형태보다 서로 통신할 때 맡는 역할을 기준으로 보면 쉽습니다.
가장 간단하게 보면 다음과 같습니다.
- 요청하는 쪽 → 클라이언트(Client)
- 요청을 받아 처리하고 결과를 보내는 쪽 → 서버(Server)
쉽게 표현하면 클라이언트가 서버에게 “이것 좀 해줘”라고 요청하고, 서버가 그 요청을 처리한 뒤 “결과는 이거야”라고 돌려주는 구조입니다.
웹사이트에서 특정 페이지를 열 때는 웹 브라우저가 “이 페이지를 보여줘”라고 요청합니다.
쇼핑 앱에서 상품을 검색하면 앱이 “이 조건에 맞는 상품을 찾아줘”라고 요청합니다.
은행 앱에서 계좌를 조회하면 “내 계좌 정보를 보여줘”라는 요청을 보냅니다.
이처럼 요청을 보내는 역할을 하는 쪽이 클라이언트이고, 요청을 받아 필요한 일을 처리하는 쪽이 서버입니다.
인터넷은 클라이언트와 서버를 연결한다
클라이언트가 요청을 보내고 서버가 결과를 돌려주려면 두 시스템이 서로 데이터를 주고받을 수 있어야 합니다.
그 연결을 가능하게 하는 대표적인 통신망이 인터넷(Internet)입니다.
예를 들어 집에서 노트북으로 온라인 쇼핑몰에 접속한다고 해보겠습니다.
내 노트북과 쇼핑몰의 서버는 서로 다른 장소에 있을 수 있습니다. 쇼핑몰의 서버는 다른 지역의 데이터센터에서 운영될 수도 있습니다.
노트북에서 보낸 요청은 인터넷을 통해 서버로 전달되고, 서버가 처리한 결과도 다시 인터넷을 통해 노트북으로 돌아옵니다.
구조를 간단하게 표현하면 다음과 같습니다.
클라이언트 → 인터넷 → 서버
그리고 결과는 반대 방향으로 돌아옵니다.
클라이언트 ← 인터넷 ← 서버
인터넷은 클라이언트와 서버 사이에서 요청과 결과를 전달하는 통신망입니다.
클라이언트가 보낸 요청을 서버까지 전달하고, 서버가 만든 응답을 다시 클라이언트까지 전달합니다.
요청과 응답으로 보면 디지털 서비스의 작동 방식이 보인다
쇼핑몰에서 노트북을 검색하는 상황을 생각해보겠습니다.
1. 사용자가 검색어를 입력한다
사용자는 스마트폰 앱이나 웹 브라우저의 검색창에 노트북을 입력합니다.
사용자의 입력을 받은 앱이나 웹 브라우저는 서버에 필요한 작업을 요청할 준비를 합니다.
이때 요청을 보내는 쪽이 클라이언트입니다.
2. 클라이언트가 서버에 요청을 보낸다
클라이언트는 서버에 “노트북과 관련된 상품을 찾아줘”라는 요청을 보냅니다.
컴퓨터 통신에서는 이렇게 어떤 작업이나 정보를 요구하는 것을 요청(Request)이라고 합니다.
3. 요청이 인터넷을 통해 서버로 전달된다
클라이언트가 만든 요청은 인터넷을 통해 쇼핑몰의 서버로 이동합니다.
사용자가 검색 버튼을 누르면 그 뒤에서는 요청 데이터가 네트워크를 따라 서버까지 이동합니다.
4. 서버가 요청을 처리한다
서버는 어떤 요청이 들어왔는지 확인합니다.
검색 요청이라면 필요한 상품 정보를 찾고 검색 조건에 맞는 결과를 만듭니다.
이 과정에서 서버는 데이터베이스나 다른 시스템에 추가로 정보를 요청할 수도 있습니다.
서비스 구조에 따라 서버는 데이터베이스, 스토리지, 인증 시스템 등 여러 시스템과 연결해 필요한 정보를 가져오고 결과를 만듭니다.
5. 서버가 결과를 돌려준다
검색 결과가 만들어지면 서버는 클라이언트에게 결과를 보냅니다.
이렇게 요청에 대해 서버가 돌려주는 결과를 응답(Response)이라고 합니다.
6. 클라이언트가 결과를 화면에 보여준다
서버가 보낸 응답은 다시 인터넷을 통해 사용자의 기기로 전달됩니다.
클라이언트는 전달받은 상품명, 가격, 이미지 등의 데이터를 화면에 보여줍니다.
사용자는 검색 버튼을 누르고 상품 목록을 확인합니다. 그 사이에는 다음과 같은 흐름이 진행됩니다.
사용자 입력 → 클라이언트의 요청 → 인터넷을 통한 전달 → 서버 처리 → 서버의 응답 → 인터넷을 통한 전달 → 클라이언트 화면 표시
이 요청과 응답의 구조는 웹사이트, 쇼핑 앱, 은행 앱, 메신저 등 많은 디지털 서비스에서 기본적으로 사용됩니다.
같은 기기도 클라이언트가 되기도 하고 서버가 되기도 한다
클라이언트와 서버를 역할로 이해하면 같은 기기가 상황에 따라 다른 역할을 하는 이유도 쉽게 이해할 수 있습니다.
예를 들어 내 노트북으로 웹사이트에 접속하면 노트북에서 실행되는 웹 브라우저가 서버에 요청을 보냅니다.
이 상황에서는 내 노트북 쪽이 클라이언트 역할을 합니다.
내 노트북에 다른 기기의 요청을 받아 처리하는 프로그램을 실행해 두면, 그 요청을 처리하는 상황에서는 내 노트북이 서버 역할을 할 수 있습니다.
스마트폰, 노트북, 데스크톱 같은 기기는 서비스 구조에 따라 클라이언트 역할과 서버 역할을 수행할 수 있습니다.
누가 요청을 보내고, 누가 그 요청을 받아 처리하는가가 클라이언트와 서버를 구분하는 기준입니다.
기업들은 서버를 어디에서 관리할까?
개인용 노트북도 기술적으로 서버 역할을 할 수 있습니다.
기업이 운영하는 온라인 서비스는 규모와 운영 조건에 맞는 서버 환경을 사용합니다.
수십 명이 사용하는 사내 시스템도 있고, 수십만 명이나 수백만 명이 동시에 사용하는 서비스도 있습니다.
이런 서비스를 운영하려면 서버가 많은 요청을 안정적으로 처리할 수 있어야 합니다.
장시간 안정적으로 사용할 전력이 필요하고, 서버에서 발생하는 열을 처리할 냉각 환경이 필요합니다. 외부와 데이터를 주고받을 네트워크와 서비스 보호를 위한 보안 체계도 함께 구성합니다.
기업은 규모와 필요에 따라 서버를 여러 환경에서 운영할 수 있습니다.
- 회사 내부 서버실
- 사무실이나 사업장 내부에 서버를 두고 직접 관리할 수 있습니다.
- 자체 데이터센터
- 많은 서버와 네트워크 장비를 운영하기 위해 기업이 자체 데이터센터를 구축할 수 있습니다.
- 외부 데이터센터
- 전문 데이터센터 사업자가 제공하는 공간과 전력, 네트워크 환경을 이용하면서 기업이 자신의 서버를 운영할 수 있습니다.
- 클라우드
- 클라우드 사업자가 제공하는 컴퓨팅 자원을 이용해 서버 기능을 구성하고 운영할 수 있습니다.
기업의 디지털 서비스는 서버와 함께 네트워크, 전력, 냉각, 보안 등의 기반을 사용하며 운영됩니다.
이러한 기반을 넓게 보면 앞서 살펴본 디지털 인프라와 연결됩니다.
DANA NOTES 한 줄 정리
클라이언트와 서버는 기기의 종류보다 요청을 보내고 처리하는 역할로 구분하며, 인터넷은 두 역할이 서로 데이터를 주고받을 수 있도록 연결하는 통신망입니다.


