= 2티어 아키텍처
상품 정보와 같이 리소스가 존재하는 곳과, 리소스를 사용하는 앱을 분리시킨 것을 2티어 아키텍처, 또는 클라이언트-서버 아키텍처라고 부른다.
리소스를 사용하는 앱 : 클라이언트
리소스가 존재하는 곳 : 서버
클라이언트와 서버는 요청-응답을 주고 받는 관계이다.
클라이언트-서버 아키텍처에서는 요청이 선행되고 그 후에 응답이 오며, 요청하지도 않았는데 응답이 오는 경우는 없다.
보통 서버는 리소스를 전달해주는 역할만 할 뿐, 리소스를 저장하는 공간은 따로 두는데, 이 리소스를 저장하는 공간이 바로 데이터베이스이다.
기존 2티어 아키텍처에 데이터베이스가 추가된 형태를 3티어 아키텍처라 부른다.
클라이언트는 보통 플랫폼에 따라 구분된다.
브라우저를 통해 주로 이용하는 웹(Web) 플랫폼에서의 클라이언트는 웹사이트 또는 웹 앱이라고 부른다.
iOS나 안드로이드와 같은 스마트폰/태블릿 플랫폼, 그리고 윈도우와 같은 데스크탑 플랫폼에서 이용하는 앱 역시 클라이언트가 될 수 있다.
서버는 무엇을 하느냐에 따라 종류가 달라진다.
데이터베이스도 데이터 제공자로서 일하므로 일종의 서버라고 볼 수 있다.