인프런 커뮤니티 질문&답변

egpark님의 프로필 이미지
egpark

작성한 질문수

기술노트 - 컴퓨터 구조부터 클라우드, 빅데이터까지 / 진로 고민, 취업 상담

nodejs로 쉽게 웹서버 띄우기

web server, WAS, api server의 관계

작성

·

88

0

 

안녕하세요, 좋은 영상 감사합니다.

 

질문 하나 드려도 될까요? (web server, WAS, api server의 관계 관련)

상황은 이렇습니다.

vue.js framework를 활용해서 웹앱을 개발했습니다. 배포는 firebase를 이용했습니다.

api 서버는 nest.js framework를 사용했고, db는 postgresql을 사용했습니다. 배포는 k8s를 이용했습니다.

 

기대했던 기능들이 잘 동작하고, 데이터도 잘 쌓이고 있습니다.

문제는.. 개발을 진행한 후에 웹 개발 관련 지식들을 쌓는 과정에서 발생했습니다.

 

웹서버, WAS 라는 용어가 나오더라고요. 그래서 어라? 싶었습니다.

저는 이 2가지 개념에 대해서 전혀 몰랐음에도 웹앱은 잘 작동하고 있었기 때문입니다.

전혀 몰랐기 때문에 이 두가지를 구축할 생각조차 못했는데도요.

 

질문 1.

대체 웹서버는 무엇일까요? 웹에서 돌려받는 데이터는 API 서버를 통해 돌려받으면 충분한데.. 웹서버로는 어떤 요청을 해야하나요?

 

질문 2.

웹서버, was에 대한 구축이 없이도 제 웹앱이 잘 동작하고 있는 것은 firebase의 존재 때문일까요?

 

질문 3.

웹서버, was 관련 개념을 확립하다보니, req & res의 흐름이 아래와 같을 것이라는 생각이 듭니다. 하자 없는 이해일까요?

web application - web server - WAS - API server - DB

 

이 영상을 보게 된 것도 web server, WAS의 개념, 역할을 찾는 와중이었는데, 

다른 많은 것을 얻었지만 이 부분은 얻지 못한 것 같아 도움을 구합니다.

미리 감사드립니다!!

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

질문주신 웹서버, WAS, API 서버의 관계에 대해 답변드리겠습니다.

질문 1에 대한 답변:
웹서버는 HTTP 프로토콜을 이용하여 사용자의 요청을 처리하고 응답을 반환하는 서버입니다. 정적 콘텐츠(HTML, CSS, JavaScript 파일 등)를 처리하는데 최적화되어 있습니다. 반면, API 서버는 주로 동적 콘텐츠 처리와 클라이언트와 백엔드 시스템 간 데이터를 주고받는 역할을 합니다. 사용자가 웹 애플리케이션에 요청할 때 필요한 로직 처리나 데이터베이스 조회 같은 작업을 수행합니다.

질문 2에 대한 답변:
Firebase 같은 플랫폼은 백엔드 기능(데이터베이스, 인증 등)을 클라우드 서비스 형태로 제공하며, 동시에 정적 파일 호스팅도 지원합니다. 따라서 웹서버나 WAS를 별도로 구축하지 않아도 웹 애플리케이션이 잘 동작하는 것은 해당 서비스가 내부적으로 필요한 웹서버 기능을 제공하기 때문입니다.

질문 3에 대한 답변:
제시하신 흐름은 일반적인 웹 애플리케이션의 구조와 유사합니다. 사용자의 요청이 웹 애플리케이션에 도달하고, 웹서버를 거쳐 WAS(Web Application Server)로 전달된 후, 필요한 처리(예: API 서버를 통한 데이터 처리)를 거쳐 최종적으로 데이터베이스와 상호작용하는 구조입니다. 이러한 흐름은 웹 어플리케이션의 구조를 정확히 이해하는 데 중요하며, 웹서버와 WAS의 역할을 명확히 구분하는 데 도움이 됩니다.

여러분이 개발하신 웹 앱은 Firebase와 k8s를 사용하여 효과적으로 배포 및 운영되고 있는 것으로 보입니다. 웹서버와 WAS에 대한 이해도를 높이면서 기술 스택에 대한 이해를 더 확장해나가시면 좋을 것 같습니다.

도움이 되었기를 바랍니다!

egpark님의 프로필 이미지
egpark

작성한 질문수

질문하기