개발 공부/네트워크 기초
nodejs_클라이언트(client)와 서버(server) 구조 그리고 데이터베이스(database)
크롱이크
2021. 5. 21. 11:19
Client Server Architecture
다른 말로는 2티어 아키텍처라고 불립니다.
우리는 스마트폰의 앱이나 웹브라우저로 다양한 서비스를 이용합니다.
그것이 가능한 이유는 그 프로그램들이 외부로 요청을 보내고, 응답을 받아오기 때문입니다.
여기서 요청을 보내는 것은 클라이언트(client)이고,
요청을 받고 응답을 해주는 것은 서버(server)이다.
이용하는 서비스에 따라 클라이언트가 요청하는 서버는 달라집니다.
응답으로는 text, html, cdd, javascript, image, video가 올 수 있고,
그 응답을 바탕으로 화면을 구성하게 됩니다.
그렇게 우리가 문제없이 서비스를 이용할 수 있게 됩니다.
일반적으로 서버는 리소스를 전달해주는 역할만 담당합니다.
리소스(응답)를 별도로 저장하는 공간을 '데이터베이스'라 부릅니다.
데이터베이스까지 추가된 형태를 3-티어 아키텍처(3-tier)라 부릅니다.
웹개발자 직군에 프런트엔드 개발자와 백엔드 개발자라는 용어가 있는데,
여기서 client에서 사용자와 상호작용을 할 수 있는 앱을 개발하면 프런트엔드 개발자라고 하고,
server와 database를 권한관리, 로그인/아웃. api노출 등의 사용자 인증을 주로 다루는 개발자는 백엔드 개발자라고 합니다.
클라이언트와 서버의 종류를 알아보겠습니다.
1. 클라이언트
-웹사이트
-스마트폰/ 태블릿용 앱
-데스크탑 앱
2. 서버
-웹서버
-파일서버
-메일서버
-데이터베이스 서버
반응형