클라이언트 - 서버 아키텍처 (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 |