• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

왜 웹서버라고 하나요?

24.04.19 10:24 작성 조회수 69

0

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

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

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

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

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

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

  1. 요청 순서

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

 

3. 웹서버가 2개 인경우

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

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

요청 순서가

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

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.04.19

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

리어스리님의 질문에 대해 몇 가지 정보와 기존 답변을 참고할 수 있는 링크를 알려드리겠습니다. 구조적인 측면에서 웹서버와 WAS(Web Application Server) 사이의 관계와 역할에 대해 나누어볼 수 있습니다.

  1. 웹서버와 WAS의 기본 구분 및 연계:

    • 웹 서버는 정적 컨텐츠(HTML, CSS, JS 등)를 제공하는 반면, WAS는 동적 컨텐츠를 처리하기 위해 존재합니다(예를 들어, 서블릿을 실행하거나 JSP를 통해 HTML을 동적으로 생성함).
    • 톰캣(Tomcat)은 실제로 WAS이기도 하고 내부적으로는 HTTP 요청을 받을 수 있는 내장된 웹 서버 기능을 가지고 있습니다. 이는 동적 및 정적 자원 처리 능력을 가지고 있다는 의미입니다.
  2. 요청 순서 상세화:

    • 전달하신 이미지에 따르면, 요청이 클라이언트로부터 시작하여 톰캣 서버에 도달합니다. 톰캣 내의 웹 서버가 HTTP 요청을 처리하고, 해당 요청은 서블릿 컨테이너로 이교되어 적절한 서블릿에 전달됩니다.
    • 스프링의 경우, DispatcherServlet 등 스프링 MVC 구조를 통해 요청이 처리됨을 나타냅니다.
  3. 웹서버가 2개인 경우 요청 순서:

    • 마지막으로 질문하신 부분에 대해서는, 일반적으로 외부 웹서버(예: Nginx, Apache)가 있고, WAS(예: Tomcat) 내부에 또 다른 웹서버 기능이 내장된 경우, 외부 웹서버는 정적 자원을 처리하거나 부하 분산 역할을 하고, 동적 요청은 WAS로 전달하여 처리하는 구조입니다.

위 내용으로 질문에 대해 부분적으로 답변할 수 있지만, 좀 더 자세한 구분과 요청 흐름에 대한 이해를 돕기 위한 참고 자료를 알려드립니다.

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