Zero To One

1) 클라이언트-서버 아키텍쳐 본문

웹서비스 개발 기초

1) 클라이언트-서버 아키텍쳐

Zero_To_One 2022. 2. 15. 11:47

1. 2 Tier Architecture

  • 리소스를 사용하는 앱 ⇒ “클라이언트”
  • 리소스가 제공(serve)하는 곳 ⇒ “서버”
  • 상품 정보는 서버에서 다루고, 클라이언트는 단지 상품 정보를 조회할 뿐이다.

 

예를들어, 리소스에 접근하는 앱은 마치 손님(Client)과 같아서, 리소스를 가지고 점원(Server)에게 물품을 요청해야한다.

요청에 따라, 점원(Server)는 리소스를 담아 응답한다.

 

2. 3-Tier 아키텍쳐

보통 서버는 리소스를 전달해 줄 뿐, 리소스를 저장하는 공간은 데이터베이스라는 창고에 둔다. 

이처럼, 클라이언트-서버 아키텍처에 데이터베이스가 추가된 형태를 3-Tier 아키텍쳐라 한다.

 

3. 프론트 앤드와 백엔드

  • 프론트 앤드의 영역
    • 클라이언트처럼 사용자가 직접 눈을 보고, UI를 클릭 또는 터치하는 등의 상호작용을 할수 있는 앱을 주로 개발
  • 백엔드의 영역
    • 사용자 눈에는 보이지 않지만, 상품 정보는 API로 노출한다든지, 로그인/로그아웃, 권한 관리등의 사용자 인증을 주로 다루는 것을 개발. (백엔드 개발자는 데이터베이스 등의 시스템 설계까지 도맡아서 하는 경우도 있다.)

4) 서버와 클라이언트의 종류

  • 클라이언트 (플랫폼에 따라 구분)
    • 웹 앱 : 브라우저를 통해 주로 이용하는 웹(Web) 플랫폼에서의 클라이언트
    • 앱 : ISO나 안드로이드와 같은 스마트폰/태블릿 플랫폼, 윈도우와 같은 데스크탑 플랫폼
  • 서버 (무엇을 하느냐에 따라 구분)
    • 파일 서버 : 파일을 제공하는 앱
    • 웹 서버 : 웹사이트에서 필요로 하는정보들을 제공하는 앱
    • 메일 서버 : 메일을 주고받을 수 있도록 도와주는 앱
    • 데이터 베이스 : 데이터 제공자

'웹서비스 개발 기초' 카테고리의 다른 글

HTTP 요청 메서드, HTTP 상태 코드  (0) 2022.02.16
5) 도메인과 DNS  (0) 2022.02.15
4) IP, Port  (0) 2022.02.15
3) URL과 URI  (0) 2022.02.15
2) HTTP를 이용한 클라이언트-서버 통신과 API  (0) 2022.02.15