안녕하세요. 민티팝입니다.
오늘부터 IT 기초지식을 정리해나가려 합니다.
개발자와 소통하기 위한 마케터의 IT 지식이 병아리인 입장에서
최대한 쉽게 풀어놓은 글들이니 함께 따라와주세요 ^^
클라이언트와 서버란 무엇일까요?
여러분이 식당에 가본 적이 있나요? 식당에서는 손님(여러분)이 음식을 주문하면, 주방에서 요리사가 음식을 만들어 제공합니다. 인터넷 세계도 이와 비슷하게 작동합니다!
클라이언트-서버 모델은 인터넷의 기본 구조로서, 여러분이 매일 사용하는 거의 모든 인터넷 서비스가 이 방식으로 작동합니다.
- 클라이언트는 '손님' 역할을 합니다. (여러분의 컴퓨터나 스마트폰)
- 서버는 '주방'과 '요리사' 역할을 합니다. (인터넷 어딘가에 있는 컴퓨터)
클라이언트와 서버 이해하기
클라이언트란?
클라이언트는 여러분이 직접 사용하는 기기나 프로그램입니다.
- 스마트폰, 노트북
- 웹 브라우저(크롬, 사파리등)
- 카카오톡, 유튜브 앱등
클라이언트는 여러분의 요청을 서버에 전달하고, 서버가 보내준 정보를 여러분에게 보여주는 역할을 합니다.
클라이언트 종류
- Thin 클라이언트 : 대부분의 작업을 서버에 의존합니다. 마치 음식점에서 모든 요리를 주방에 맡기는 것과 같습니다.
- Fat 클라이언트 : 많은 작업을 스스로 처리합니다. 주방에서 재료만 받아 직접 요리하는 것과 비슷합니다.
- Hybrid 클라이언트 : 두 가지 특성을 모두 가진 중간 형태입니다.
서버란?
서버는 클라이언트의 요청을 처리하고 필요한 정보를 제공하는 컴퓨터나 프로그램입니다.
- 웹사이트 정보를 저장하는 웹서버
- 파일을 저장하는 파일 서버
- 데이터를 관리하는 데이터베이스 서버
서버는 여러 클라이언트의 요청을 동시에 처리할 수 있으며, 24시간 작동하는 경우가 많습니다.
클라이언트-서버 모델의 작동 방식
식당에 비유하면 이렇게 작동합니다.
1. 주문(요청) : 손님(클라이언트)이 음식을 주문합니다.
2. 요리 준비(처리) : 주방(서버)에서 요리사가 음식을 만듭니다.
3. 음식 제공(응답) : 완성된 음식이 손님에게 제공됩니다.
4. 식사(결과 사용) : 손님이 음식을 먹습니다.
실제 웹사이트 방문 예시
① 여러분이 스마트폰의 웹 브라우저(클라이언트)로 네이버 주소를 입력합니다.
② 브라우저가 네이버 서버에 "네이버 홈페이지 보여주세요"라고 요청합니다.
③ 네이버 서버가 홈페이지 내용을 브라우저에게 보냅니다.
④ 브라우저가 받은 내용을 화면에 예쁘게 표시해 여러분에게 보여줍니다.
클라이언트-서버 구조(티어 구조)
클라이언트-서버 시스템은 복잡도에 따라 여러 단계(티어)로 나뉩니다.
- 1-Tier 구조
모든 것이 한 곳에 있는 구조입니다. 식당으로 치면, 집에서 혼자 요리해 먹는 것과 같습니다.
예) 메모장처럼 인터넷 연결 없이 혼자 작동하는 프로그램
- 2-Tier 구조
클라이언트와 서버가 분리된 구조입니다. 손님과 주방이 분리된 일반적인 식당과 같습니다.
예) 간단한 채팅 앱, 기본적인 웹사이트
- 3-Tier 구조
세 가지 층으로 나뉘어 있습니다.
- 프레젠테이션 계층 : 손님이 보는 메뉴판과 음식(사용자 화면)
- 애플리케이션 계층 : 주방에서 요리하는 과정(데이터 처리)
- 데이터 계층 : 식자재 창고(데이터 저장)
예) 쇼핑몰 웹사이트
- 화면에 보이는 상품 사진과 설명(프레젠테이션 계층)
- 결제 처리, 주문 관리 시스템 (애플리케이션 계층)
- 상품 정보, 회원 정보 데이터 베이스 (데이터 계층)
왜 클라이언트-서버 모델을 사용할까요?
이 모델은 여러 가지 장점이 있습니다.
- 자원 공유 : 여러 사람이 하나의 서버를 통해 정보를 공유할 수 있습니다. 여러 손님이 한 주방의 음식을 먹는것과 같습니다.
- 데이터 중앙 관리 : 서버에서 데이터를 한 곳에서 관리하므로 일관성과 보안을 유지하기 쉽습니다.
- 유지보수 용이 : 서버만 업데이트하면 모든 클라이언트에게 적용됩니다. 식당에서 메뉴를 변경하면 모든 손님이 새 메뉴를 볼 수 있는 것과 같습니다.
일상에서 만나는 클라이언트-서버 관계
우리는 매일 클라이언트, 서버를 사용하고 있습니다.
- 웹 브라우징 : 크롬(클라이언트)이 유튜브 서버에 동영상을 요청합니다.
- 이메일 : 지메일 앱(클라이언트)이 구글 서버에서 메일을 가져옵니다.
- 온라인 게임 : 게임 앱(클라이언트)이 게임 서버와 통신하며 다른 플레이어의 정보를 주고 받습니다.
- SNS : 인스타그램 앱(클라이언트)이 서버에서 친구들의 사진과 게시물을 가져옵니다.
- 스트리밍 서비스 : 넷플릭스 앱(클라이언트)이 넷플릭스 서버에서 영화 데이터를 받아옵니다.
이렇게 클라이언트, 서버는 인터넷의 기본 구조로 우리가 디지털 세상에서 정보를 주고 받는 핵심입니다. 여러분이 어떤 앱이나 웹사이트를 사용할 때마다, 여러분의 기기(클라이언트)가 멀리 있는 컴퓨터(서버)와 대화하고 있다고 생각하면 됩니다!
'IT 기초 강의' 카테고리의 다른 글
도메인 뜻, 사용 효과, 등록 업체 가격 비교, 관리 팁 알아보기 (0) | 2025.04.02 |
---|---|
내 IP 주소 확인하는 법, 고정 IP, 유동 IP, IPv6, 고정IP제공 사이트 (1) | 2025.03.27 |
백엔드 개발의 개념, 개발자 역할 추천 유무료 학습 사이트 (0) | 2025.03.26 |
프론트엔드 개발자 시작하기 웹퍼블리셔와 비교 (0) | 2025.03.25 |