WAS 내부 동작 흐름

Do_It·2023년 11월 13일

WAS 부터 디스패치 서블릿 내부동작 흐름 파악

  • WAS : Web Application Server
  • WAS는 WEB 과 서블릿 컨테이너(=웹 컨테이너) 두 가지로 이루어져 있음
  • WEB에서는 항상 같은 인풋과 아웃풋 즉, 정적인 파일 요청을 처리함
  • 동적인 요청 (REST API , JSP 등) 은 WEB을 통과 후 서블릿 컨테이너로 위임

서블릿 컨테이너(웹 컨테이너) 는 WAS의 핵심!

  • WAS의 대표 구현체로는 Apache Tomcat을 자주 사용함
  • 백엔드 개발자는 WAS의 서블릿 컨테이너(웹 컨테이너)를 개발하는 것임
  • 서블릿 컨테이너 역할
    -> 프로토콜 요청/응답 처리
    -> 쓰레드 풀 관리
    -> 스프링 지원 런타임 컴포넌트

현실 웹서비스 시스템 구조

  • 외부 WEB 서버를 두어서 정적 파일 처리 일임(엔진 엑스 ,아파치 등)

서블릿 컨테이너 흐름

  • Servler : 클라이언트 요청을 처리 & 서버에서 동적인 웹 페이지를 생성하는 데 사용되는 주체
  • 서블릿 컨테이너 안에는 클라이언트 요청을 처리하기 위한 Servlet들과 프레임워크 Container 존재
  • Protocol 관련 Servlet : HTTP servelet , WebSocket Servelet
  • Server 프레임워크 관련 Servlet : Dispatcher Servlet(스프링 프레임워크)

예시 )
클라이언트 요청 -> 서블릿 컨테이너 -> HTTP servlet -> Dispatcher Servlet -> Spring Container에서 요청에 맞게 처리

  • spring boot 개발시 전체 흐름을 건들지 않는 것을 권장 / Main 동작 흐름을 정하는 게 아니라 서블릿 컨테이너 흐름에 올라타서 개발을 진행하는 것!
profile
오늘의 노력이 내일의 성장으로 이어지고 있음을

0개의 댓글