<클라이언트 서버 아키텍처 설계방식>
리소스가 존재하는 곳과 리소스를 사용하는 앱을 분리시킨 것을 2 - Tier 아키텍쳐, 다른 말로는 클라이언트 - 서버 아키텍처라고 부른다.
"클라이언트" - 리소스를 사용하는 앱
"서버" - 리소스가 제공하는 곳
- 클라리언트는 서버에 요청하면 그 이후 서버에서 응답을 해준다. 클라이언트 - 서버 아키텍처에서는 요청이 선행되고, 그 후에 응답이 온다. 요청하지도 않았는데 응답 이 오는 경우는 없다.
위의 사진처럼 일반적으로 서버는 리소스를 전달해주는 역할만 담당한다.
기존 2티어 아키텍처에 데이터베이스가 추가된 형태를 3티어 아키텍처라고 한다.
"데이터베이스" - 리소스를 저장하는 별도의 공간 (창고같이)
<프론트 엔드 영역>
- 클라이언트 앱은 사용자가 직접 대면하는 곳으로 UI를 클릭 또는 터치하는 등의 상호 작용을 할 수 있는 앱을 주로 개발한다.
<백엔드 영역>
- 서버 앱은 사용자 눈에 직접 보이지 않게 뒤에서 작동한다. 상품 정보를 API로 노 출한다던지, 로그인/로그아웃, 권한 관리 등의 사용자 인증을 주로 개발한다.