???) Spring Boot는 WAS 인가욥?

후투티·2025년 3월 16일

잊지마!

목록 보기
10/20

아닙니다
그렇게 보일 뿐

Spring Boot != WAS (Web Application Server)

하지만!!!
내장 WAS(Tomcat)를 "포함" 할 수 있기 때문에

  • "WAS처럼" 동작하는 것이다

아하! 그래서 스프링 부트보고 서버라고 하는 거구낭....

사실 서버'처럼' 작동하는 건데 다들 그냥 서버라고 말하는 거였다.

Spring Boot = 서버처럼 작동하는 프로그램

근데 어떻게 서버처럼 작동한다는 거야?
= 내장된 WAS 덕분에 HTTP 요청을 처리할 수 있게 되기 때문!

근본적 질문! '서버'란 건 뭐야?

그래서 우리가 흔히 말하는
"서버 만들었어요"에서의 서버는 논리적 서버이다.
논리적 서버는 쉽게 말해 프로그램(스프링부트, Nginx, Tomcat)이다.
cf) 물리적 서버는 내 pc나 EC2를 말한다

그래서 여기서의 서버는
"HTTP 요청을 받고 응답하는 프로그램(소프트웨어)을 만들었어요"
인 것이다.

- 서버의 역할 = 클라이언트의 요청 받고 응답 반환하기

- 서버의 종류 = 웹서버 & WAS

그러면 웹 서버랑 WAS랑 무슨 차이예요?

웹 서버

  • 정적인 요청을 처리하는 서버
  • 역할
    • 브라우저에서 요청한 정적 리소스 (HTML, CSS, JS, 이미지) 제공
    • WAS 앞에서 리버스 프록시 역할 수행
    • 로드 밸런싱
  • 동작 방식
    • [사용자] -> ~~.html 주세요 -> [웹서버] -> 요청하신 파일 여기용
  • 종류
    • Apache HTTP Server
    • Nginx

WAS

  • 동적인 요청을 처리하는 서버
  • 역할
    • 사용자의 요청을 받아 비즈니스 로직 수행 후, 동적인 응답 생성
    • DB와 연동하여 데이터 저장/조회
  • 동작 방식
    • [사용자] -> /user?id=1 주세요 -> [WAS] -> DB 조회 후 응답
  • 종류
    • Tomcat (스프링부트 기본 내장 WAS)

많이 쓰이는 조합 Nginx(웹서버) + Tomcat(WAS)

[사용자] -> [웹서버 Nginx (정적처리)] -> [WAS Tomcat (동적 처리)] -> [DB]

profile
모르는 건 모른다고 하는 사람

0개의 댓글