Client Server Architecture
클라이언트
- 서버 아키텍처, 다른 말로는 2티어 아키텍처라고 불리는 설계 방식
클라이언트-서버 아키텍처
- 리소스가 존재하는 곳과 리소스를 사용하는 앱을 분리시킨 것을 2-Tier 아키텍처, 다른 말로는 클라이언트-서버 아키텍처라고 한다.
- 리소스에 접근하는 앱은 마치 손님(Client)과 같아서, 리소스를 가지고 있는 점원(Server)에게 물품을 요청해야 한다. 요청에 따라 점원(Server)은 리소스를 담아 응답한다.
3-Tier 아키텍처
- 보통의 서버는 리소스를 전달해 줄 뿌느 리소스를 저장하는 공간은 데이터베이스라는 창고에 둔다. 이처럼 클라이언트-서버 아키텍처에 데이터베이스가 추가된 형태를 3-Tier 아키텍처라고 한다.
프론트엔드와 백엔드
클라이언트와 서버 종류
- 클라이언트는 보통 플랫폼에 따라 구분된다. 브라우저를 통해 주로 이용하는 웹(Web) 플랫폼에서의 클라이언트는 웹사이트 또는 웹 앱이라고 부른다.
- Ios나 안드로이드와 같은 스마트폰/태블릿 플랫폼, 그리고 윈도우와 같은 데스크탑 플랫폼에서 이용하는 앱역시 클라이언트가 될 수 있다.
- 서버는 무엇을 하느냐에 따라 종류가 달라진다. 파일 서버는 파일을 제공하는 앱, 웹 서버는 웹사이트에서 필요로 하는 정보들을 제공하는 앱, 메일 서버는 메일을 주고받을 수 있도록 도와주는 앱이다.
- 데이터베이스도 데이터 제공자로서 일하므로 일종의 서버라고 볼 수 있다.