Web Server와 WAS

임유진·2025년 7월 28일

목록 보기
6/7


출처 : ecsinsw - WAS 전면에 Web Server를 두는 이유

Web Server는 요청을 분배하고 정적 파일을 처리하며,
WAS는 동적인 로직과 데이터를 처리하는 핵심 백엔드 컴포넌트입니다.

1. Web Server (웹 서버)

클라이언트(브라우저)의 HTTP 요청을 받아 정적 콘텐츠(HTML, CSS, JS, 이미지 등)를 응답하는 서버

  • 기능 : 정적 파일 제공, 라우팅, HTTPS 처리, 요청 포워딩
  • 대표 역할 : 정적인 리소스를 빠르게 제공하고, 동적 요청은 WAS에 전달
  • 대표적인 기술 스택 : Apache HTTP Server, Nginx, Microsoft IIS
  • 예시 : 사용자가 www.example.com에 접속하면 HTML, JS, CSS 파일을 웹 서버가 바로 응답함

2. Web Application Server (WAS, 웹 애플리케이션 서버)

웹 서버가 처리하지 못하는 동적 요청(예: 로그인, DB 조회 등)을 처리하는 비즈니스 로직 담당 서버

  • 기능 : Servlet/JSP 실행, DB 연동, 세션 관리, 비즈니스 로직 처리
  • 대표 역할 : 자바, 파이썬, PHP 등의 웹 애플리케이션 구동
  • 대표적인 기술 스택 : Tomcat (Java, Servlet, JSP), Spring Boot (내장 WAS), Node.js, Django (Python), Flask, PHP-FPM
    ※ Spring Boot는 내장 Tomcat을 포함한 WAS 역할까지 수행
  • 예시 : 로그인 시 ID/PW 검증, 게시판 글 불러오기 등은 WAS가 처리함

핵심 비교 표

항목Web ServerWAS (Web Application Server)
처리 대상정적 콘텐츠 (HTML, CSS, JS, 이미지)동적 콘텐츠 (Servlet, JSP, API 등)
주 기능요청 분배, 정적 파일 응답로직 실행, DB 연동, 세션/쿠키 관리
동작 방식요청 → 파일 그대로 응답요청 → 로직 실행 후 결과 생성 → 응답
요청 처리 속도빠름상대적으로 느림 (복잡한 연산 수행)
예시 응답index.html 파일 그대로 반환로그인 결과, 게시글 목록 등 동적으로 생성된 페이지
연동 여부WAS와 함께 연동되어 사용 가능종종 웹 서버와 함께 사용됨 (ex. Tomcat 단독 사용도 가능)

실무 아키텍처 흐름 예시

[Client(Browser)]
       ↓
[Web Server] (Nginx / Apache)
       ↓
[WAS] (Tomcat / Spring Boot / Node.js)
       ↓
[Database] (MySQL / Oracle / MongoDB)
  • 정적 파일은 Web Server가 직접 응답
  • 동적 요청은 WAS에 전달 → 처리 결과를 Web Server가 받아서 브라우저에 반환
profile
말하는 고구마

0개의 댓글