개발 일지/CS

[Web] 클라이언트-서버 아키텍처

미숫가루설탕많이 2023. 1. 26. 14:40

 웹에서 제공되는 서비스는 주로 서비스를 이용하는 클라이언트와 서비스를 제공하는 서버로 나뉜다. 즉 리소스가 존재하는 곳과 리소스를 사용하는 앱을 분리시킨 것을 클라이언트-서버 아키텍처(2티어 아키텍처)라고 부른다.

 

 리소스를 사용하는 앱이 '클라이언트', 리소스를 제공(serve)하는 곳이 '서버'이다.

 

 클라이언트는 사용자가 직접 이용하기 때문에 사용 편의성이나 휴대성 등을 고려하여 개발이 이루어지며, 서버는 사용자와 직접적 접점이 없기 때문에 편의성보다는 기능에 중점을 두고 개발이 이루어진다.

 

 클라이언트와 서버는 요청과 응답을 주고 받는 관게이며, 요청을 해야 응답이 오고 요청없이 응답이 오는 경우는 없다.

 

 일반적으로 서버는 리소스를 전달해주는 역할만을 담당한다. 그리고 리소스를 저장하는 공간을 '데이터베이스'라고 한다. 이렇게 2티어 아키텍처에 데이터베이스가 추가된 형태를 3티어 아키텍처라고 한다.

 

 

 

 

종류

 

 클라이언트는 보통 플랫폼에 따라 구분된다.

  • ex) 웹사이트, 스마트폰/테블릿용 앱, 데스크탑 앱 등

 

 서버는 보통 무엇을 하느냐에 따라 구분된다.

  • ex) 파일 서버, 웹 서버, 메일 서버 등

'개발 일지 > CS' 카테고리의 다른 글

[Web] SSR / CSR  (0) 2023.01.26
[Web] 웹 애플리케이션  (0) 2023.01.26
[Network] URL  (0) 2023.01.26
[Network] TCP / UDP  (0) 2023.01.26
[Network] 인터넷 프로토콜(Internet Protocol, IP)  (0) 2023.01.26