리소스를 사용하는 앱(클라이언트)과 리소스가 존재하는 곳(서버)을 분리시키는 모델을 뜻하며, 2-tier 아키텍쳐라고도 부른다.
클라이언트는 웹/앱을 이용하는 사용자를 뜻하며, 클라이언트는 네이버나 구글 같은 웹 브라우저를 통해 서버에 원하는 데이터를 요청한다.
브라우저는 클라이언트가 이용하는 도구로써 사용자와 상호작용을 하게 된다.
서버는 클라이언트의 요청을 처리해서 응답하게 된다.
위 그림을 의류 쇼핑몰이라 한다면 클라이언트는 쇼핑몰 웹사이트를 통해 결제 정보, 상품 조회 등의 기능을 쓸 수 있고, 클라이언트가 특정 의류 상품을 클릭한다면 서버에서는 의류의 상품 정보를 보내준다.
서버는 데이터베이스라고 하는 리소스를 저장하는 공간을 따로 두는 것을 3-tier 아키텍쳐라고 한다.
서버는 리소스를 전달해주는 역할만 하고 실제 리소스가 저장되어있는 데이터베이스에서 꺼내온다.