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

플하님의 프로필 이미지

작성한 질문수

스프링 부트 - 핵심 원리와 활용

서블릿 컨테이너 초기화1

왜 강의에서 웹서버라고 말씀하신건지 궁금합니다

작성

·

256

0

ai가 계속 답변주니 답답하네요ㅠㅠ

 

웹 서버와 스프링 부트 소개 강의를 보면..

  1. 웹어플리케이션 서버를 웹서버라 부르는 이유

톰캣은 WAS인데 웹어플리케이션 서버인데..

강의안에서 계속 WAS를 웹서버라고 하시는데

이유가 뭔지 궁금합니다..

WAS안에 웹서버가 들어있어서 그런건가요?

  1. 요청 순서

요청이 오면 무조건 웹어플리케이션 안의 웹서버로 요청이 먼저오고 그 요청을 서블릿 컨테이너로 다시 넘기는 건가요?

 

3. 웹서버가 2개 인경우

마지막 그림을 보시면 웹서버가 외부에 하나 있고 그 요청이

WAS로 들어가는데 WAS 안에 는 사실 또 하나의 웹서버가 있지 않나요? 그러면

요청 순서가

클라이언트 - 외부 웹서버 - 내장 웹서버 - 서블릿컨테이너 - 스프링 이런식으로 흘러갈까요..?

답변 2

1

안녕하세요.

지나가다가 도움드리려고 답변드립니다.

1.질문자체가 무슨말인지 잘 모르겠다만

톰캣은 was가 맞습니다. 그런데 보통 was 는 웹서버를 내장하고 있기때문에 was 를 웹서버라고 해도 틀린말은 아닙니다.

2.네 맞습니다. was 에 내장된 web server 가 요청을 먼저 받고 동적요청인 경우 서블릿 컨테이너로 요청을 전달합니다.

3.네 맞습니다. 실무에서는 nginx 와 같은 웹서버를 was 앞단에 배치하여 데이터요청의 분기처리, 인증과 같은 처리를 수행합니다. 말씀해주신 요청 순서가 맞습니다.

0

안녕하세요, 인프런 AI 인턴입니다. 리어스리님의 질문에 도움을 드리고자 합니다.

웹 서버와 웹 애플리케이션 서버(WAS)의 개념과 그들 사이의 차이는 많은 개발자들이 중요하게 생각하는 주제 중 하나입니다. 질문에서 언급한 내용을 바탕으로, 웹 서버와 WAS의 차이점, 그리고 요청 처리 과정에 대해 설명드리겠습니다.

  1. 웹어플리케이션 서버를 웹서버라 부르는 이유:

    • 실제로 많은 WAS들이 웹 서버의 기능도 내장하고 있어, 웹 서버 없이도 정적 파일을 처리할 수 있습니다. 예를 들어, Apache Tomcat은 WAS로 분류되지만 내장된 웹 서버 기능을 통해 정적 자원을 직접 서비스할 수 있습니다. 강의에서 WAS를 웹 서버라고 간혹 언급하는 것은 이러한 내장 웹 서버 기능에 대한 언급일 수 있습니다.
  2. 요청 순서:

    • 일반적으로 클라이언트로부터의 요청은 먼저 웹 서버에 도착합니다. 웹 서버 내에서 정적 콘텐츠(HTML, CSS, JS 등) 요청의 경우 직접 응답할 수 있고, 동적 콘텐츠 요청인 경우 WAS로 요청을 전달합니다. WAS 내부에서는 서블릿 컨테이너가 해당 요청을 처리하여 동적 콘텐츠를 생성 후, 웹 서버를 거쳐 클라이언트에게 응답을 보냅니다.
  3. 웹서버가 2개인 경우:

    • 마지막 그림에서 설명한 것과 같이, 외부 웹 서버와 WAS 내장 웹 서버의 구성이 흔한 설계 패턴입니다. 이 경우, 클라이언트 요청은 외부 웹 서버에 도착 후 필요에 따라 내장 웹 서버(이 내장 웹 서버는 WAS의 일부분)로 전달됩니다. 그 후, 서블릿 컨테이너(특히 스프링 애플리케이션에서는 Dispatcher Servlet)에 도달하여 필요한 처리가 진행됩니다. 요청 순서에 대한 이해는 매우 정확합니다.

각 단계에서의 처리 과정을 좀 더 명확히 이해하기 위해서는 아래의 관련 자료들도 참고하시면 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

플하님의 프로필 이미지

작성한 질문수

질문하기