본문 바로가기
Network

클라이언트 - 서버 아키텍처

by Mia_ 2022. 11. 30.

클라이언트 - 서버 아키텍처 (Client Server Architecture)

- 상품 정보 같은 리소스가 존재하는 곳과 리소스를 사용한는 앱을 분리 시킨 것을 2티어 아키텍처 또는 클라이언트- 서버 아키텍처라고 함

- 리소스를 사용하는 앱이 바로 '클라이언트', 리소스를 제공(serve)하는 곳은 '서버'라고 함

 

 

클라이언트 - 서버 아키텍처의 이해

 

- 리소스에 접근하는 앱은 마치 손님(Client)과 같아서 리소스를 가지고 있는 점원(Server)에게 물품을 요청해야 함

- 요청에 따라 점원(Server)은 리소스를 담아 응답함 

- 이처럼 크라이언트와 서버는 요청과 응답을 주고 받는 관계임

- 클라이언트-서버 아키텍처에서는 요청이 선행되고 그 후에 응답이 옴

 

 

3-Tier 아키텍처

 

- 보통 서버는 리소스를 전달해 줄 뿐, 리소스를 저장하는 데이터이터베이스라는 공간에 둠

- 이처럼 클라이언트-서버 아키텍처에 데이터 베이스가 추가 된 형태를 3-Tier 아키텍처라고 함

 

 

프론트엔드와 백엔드 개발자

 

- 클라이언트처럼 사용자가 직접 눈으로 보고, UI를 클릭 또는 터치하는 등 상호작용을 할 수 있는 앱을 주로 개발하면 프론트엔드 개발자라고 함 

- 반면 사용자 눈에 보이지는 않지만, 상품 정보를   API로 노출한다던지, 로그인/로그아웃, 권한 관리 등의 사용자 인증을 주로 다루는 개발자를 백엔드 개발자라고 함 

- 백엔드 개발자는 데이터베이스 등의 시스템 설계까지 맡아서 하는 경우가 많음

 

 

클라이언트와 서버 종류

 

- 클라이언트는 보통 플랫폼에 따라 구분됨

- 브라우저를 주로 이용하는 웹 플랫폼에서 클라이언트는 웹 사이트 또는 웹 앱이라고 부름

- IOS나 안드로이드 같은 스마트폰/태블릿 플랫폼, 그리고 윈도우와 같은 데스크탑 플랫폼에서 이용하는 앱 역시 클라이언트가 될 수 있음

 

- 서버는 무엇을 하느냐에 따라 종류가 달라짐

- 파일 서버는 파일을 제공하는 앱, 웹 서버는 웹 사이트에서 필요로 하는 정보를 제공하는 앱, 메일 서버는 메일을 주고 받을 수 있도록 도와주는 앱임 

- 데이터베이스도 데이터 제공자로서 일하므로 일종의 서버라고 볼 수 있음

'Network' 카테고리의 다른 글

도메인과 DNS  (0) 2022.11.30
IP와 포트  (0) 2022.11.30
URL과 URI  (0) 2022.11.30
클라이언트 - 서버 통신과 API  (0) 2022.11.30
네트워크, 클라이언트, 서버  (0) 2022.10.29