도움이 되셨길 바래요^^
해결된 질문
작성
·
309
8
안녕하세요, 클라이언트 서버 구조 강의 파트를 학습하다 궁금한 점이 생겨 질문드립니다.
해당 강의에서 매번 언급하셨던 '클라이언트 서버'란
단순하게 물리적인 서버에 요청을하는 '클라이언트(사용자)'를 뜻하는 의미가 아닌 개발적인 측면에서 Front-end 서버를 의미하는 것일까요?
만약, 그렇다고 한다면 제 입장에서 이해하는 클라이언트 서버란 요즘 트렌드인 Vue, React, Angular(+ Svelte)와 같은 Front-end 라이브러리 또는 프레임워크를 사용하여 구현된 홈페이지로 생각을 해도 되는지 궁금합니다
그럼 클라이언트의 요청(Request)에 따른 응답(Response) 과정은 아래와 같은 구조를 띄지 않을까 합니다.(과정은 최대한 단순화 하였습니다.)
Client <--Req/Res--> Client Server(프론트엔드 서버) <--Req/Res--> Server(HTTP API가 구현된 백엔드 서버(+ DB 서버))
답변 2
10
안녕하세요. Henu님 좋은 질문입니다.
여기서 말하는 클라이언트는 포괄적인 의미가 있지만, 좀 더 명확한 의미는 웹 브라우저같은 클라이언트 프로그램을 뜻합니다.(유저 에이전트라고 하지요.)
클라이언트 프로그램은 웹 브라우저 일 수도 있고, 아이폰 안드로이드 같은 애플리케이션 일 수도 있습니다. 그리고 서버 to 서버 통신에서는 클라이언트이면서 동시에 서버가 될 수도 있지요.
클라이언트 프로그램을 웹 브라우저로 구현하면서, 서버 사이드 렌더링 방식을 선택할 수도 있고, 요즘 트랜드인 클라이언트 사이드 렌더링 방식(Vue, React)를 선택할 수도 있습니다.
그리고 클라이언트 사이드 렌더링 방식을 사용하더라도 프론트엔드 서버를 제거하고 다음과 같이 바로 구성할 수도 있습니다.
Client <--Req/Res--> Server(HTTP API가 구현된 백엔드 서버(+ DB 서버))
(각각 장단점이 있습니다^^)
도움이 되셨길 바래요^^
1