Zero To One
1) 클라이언트-서버 아키텍쳐 본문
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 |