<클라이언트 서버 아키텍처 설계방식>
![](https://velog.velcdn.com/images%2Fgkrba1234%2Fpost%2F46bb0b6d-bfc2-4dc7-8c7a-d7b46071837c%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-07-29%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%209.09.42.png)
리소스가 존재하는 곳과 리소스를 사용하는 앱을 분리시킨 것을 2 - Tier 아키텍쳐, 다른 말로는 클라이언트 - 서버 아키텍처라고 부른다.
"클라이언트" - 리소스를 사용하는 앱
"서버" - 리소스가 제공하는 곳
- 클라리언트는 서버에 요청하면 그 이후 서버에서 응답을 해준다. 클라이언트 - 서버 아키텍처에서는 요청이 선행되고, 그 후에 응답이 온다. 요청하지도 않았는데 응답 이 오는 경우는 없다.
![](https://velog.velcdn.com/images%2Fgkrba1234%2Fpost%2Fe9ab4c30-4f2d-433c-8fba-0b0824f4d5e0%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-07-29%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%209.14.30.png)
위의 사진처럼 일반적으로 서버는 리소스를 전달해주는 역할만 담당한다.
기존 2티어 아키텍처에 데이터베이스가 추가된 형태를 3티어 아키텍처라고 한다.
"데이터베이스" - 리소스를 저장하는 별도의 공간 (창고같이)
![](https://velog.velcdn.com/images%2Fgkrba1234%2Fpost%2Fa6493ad1-75f7-4797-8eb2-376c0723e1e7%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-07-29%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%209.17.21.png)
<프론트 엔드 영역>
- 클라이언트 앱은 사용자가 직접 대면하는 곳으로 UI를 클릭 또는 터치하는 등의 상호 작용을 할 수 있는 앱을 주로 개발한다.
<백엔드 영역>
- 서버 앱은 사용자 눈에 직접 보이지 않게 뒤에서 작동한다. 상품 정보를 API로 노 출한다던지, 로그인/로그아웃, 권한 관리 등의 사용자 인증을 주로 개발한다.
![](https://velog.velcdn.com/images%2Fgkrba1234%2Fpost%2F1d53ba59-948c-4565-9813-7038c07f954a%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-07-29%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%209.21.05.png)