inflearn logo
강의

Course

Instructor

Technical Notes - From computer architecture to cloud and big data / Career concerns, employment counseling

Easily launch a web server with nodejs

web server, WAS, api server의 관계

394

egpark

11 asked

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의 개념, 역할을 찾는 와중이었는데, 

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

미리 감사드립니다!!

컴퓨터-구조 운영체제

Answer 1

0

communityai8509

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

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

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

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

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

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

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

안녕하세요. 계속 프로젝트를 해야지 하다가 결제하고 환경 설정 중입니다.

0

15

1

3강 질문

0

18

1

2강 nodejs 3단계 설명 질문

0

33

1

scanf("%d\n") 의미

0

20

1

REST API (Self-descriptive messages)

0

22

1

시스템 엔지니어 관련 질문입니다.

0

50

2

주소 연산자(&) 간접 지정자(*) 반대 개념

0

33

1

강의 만료일 연장 신청

0

34

2

Virtual Memory, Memory, Memory mapping tables

0

52

1

127을 더하는 이유?>

0

62

2

샘플코드 출력 오류 발생 질문드립니다

0

64

2

만약에 포팅을 할때 1년에 한번 잡는 치명적인 문제를 해결하는 코드가 들어갔다고 가정하면

0

57

2

여러 의문점

1

63

1

72강의 DNS개념(수업자료)에 자료가 없어서 문의 드립니다.

1

56

2

오버라이딩 관련하여 질문드립니다.

0

61

2

CPU 스케줄링 RR 강의 2:54에서 질문 있습니다.

1

57

2

CPU Bound Process와 sleep, yield에 대해

1

60

1

강의자료 pdf파일

0

89

2

값의 교환에 사용되는 변수의 위치.

0

89

2

Critical Section과 SRWlock의 차이

0

99

2

STM32 포팅할 때 STM32 Project가 없음

0

148

2

FreeRTOS 멀티코어 지원안됨?

0

83

2

강의 업로드 오류 확인 요청

0

61

2

커널과 인터페이스 개념

1

64

2