[Spring] Web Application (1)

이연우·2025년 7월 22일

TIL

목록 보기
15/100

🌐 Web Server란?

  • HTTP 프로토콜 기반으로 작동하며
    정적 리소스(HTML, CSS, JS, 이미지 등)를 그대로 반환하는 서버
    → 정적 리소스: 서버에 이미 존재하는 변경되지 않는 파일
    → 그대로 응답되며 코드 실행 없이 전달됨

Web Server 구조

💡 대표적인 웹 서버

  • NGINX
  • Apache

⚙️ WAS(Web Application Server)란?

  • Web Server의 기능을 포함하면서,
    동적 콘텐츠를 생성하기 위해 코드를 실행하고 DB와 상호 작용하는 서버

WAS 구조

  • 클라이언트 요청에 따라 실행 결과를 생성 (예: 게시글 조회, 로그인 처리 등)
  • Java 기준: Servlet Container를 포함하면 WAS

💡 대표적인 WAS

  • Tomcat (Spring Boot에 내장)
  • Jetty
  • Undertow

🔍 Web Server vs WAS 차이

항목Web ServerWAS
역할정적 리소스 제공동적 콘텐츠 처리
코드 실행
DB 접근
예시NGINX, ApacheTomcat, Jetty

🏗 웹 시스템 구성 방식

> WAS만 사용하는 경우

  • 모든 요청을 WAS가 처리
  • 서버 과부하 발생 가능성 ↑
  • 정적 리소스 처리 비효율
  • WAS 장애 시 화면 자체를 제공할 수 없음

> 실제 웹 시스템 구성

구성 요소역할
Web Server정적 리소스 처리, 오류 응답
WAS동적 로직 처리, DB 연동 등 비즈니스 로직 수행

→ Web Server는 프록시 역할도 수행 → 필요한 요청만 WAS에 전달

📈 실제 웹 시스템 구성의 장점

1. 자원 분리 및 효율적 관리

  • 정적 리소스 사용량 ↑ → Web Server만 Scale Out
  • DB 연동 및 로직 사용 ↑ → WAS만 확장 가능

2. 오류 화면 제공

  • WAS가 다운되더라도 Web Server가 오류 페이지 제공 가능
  • Web Server는 상대적으로 안정적

0개의 댓글