본문 바로가기
코딩 공부/web & Spring

[Web] Web Server와 WAS

by 현장 2026. 1. 1.

Web Server와 WAS

Web Server와 WAS에 대해 구체적인 차이점이나 장단점, 왜 웹 애플리케이션 서버(WAS)를 쓰면서도 웹 서버를 따로 두는지 명확하게 설명을 하지 못함을 깨닫고 정리해 보려 합니다.

🏷️ Web Server

https://story.pxd.co.kr/1647

웹서버는 사용자가 브라우저 주소창에 URL을 입력하여 어떤 페이지를 요청하게 되면 HTTP 요청을 받아들여 HTML 문서와 같은 정적인 콘텐츠를 사용자에게 전달해주는 게 가장 큰 역할입니다.

  1. 단순히 저장된 웹 리소스들을 클라이언트로 전달하고, 클라이언트로부터 콘텐츠를 전달받아 저장하거나 처리한다.
  2. 사용자로부터 동적인 요청이 들어왔을 때 해당 요청을 웹서버 자체적으로 처리하기 어렵기 때문에 해당 요청을 WAS에게 요청합니다
  • 웹서버의 종류 : Apache,Nginx 등

🏷️ Web Application Server (WAS)

https://story.pxd.co.kr/1647

WAS 또한 웹서버와 동일하게 HTTP 기반으로 동작합니다. 웹서버가 할 수가 있는 기능 대부분이 WAS에서도 처리가 가능하며 비즈니스 로직을 처리할 수 있어 사용자에게 동적인 콘텐츠를 전달 할 수가 있으며, 주로 데이터베이스 서버와 같이 수행됩니다. WAS의 주요 임무는 동적인 요청을 받아 처리해주는 서버입니다.

WAS는 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크입니다. 인터넷상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)으로 볼 수 있습니다.
  • 대표적인 WAS의 종류 : Tomcat, JBoss, Jeus 

🏷️ 차이점

기능적으로 동일한 영역이 있으며 WAS가 웹서버 기능의 많은 부분을 포함하여 수행하기도 하지만 사용의 목적이 다릅니다.

  • 웹서버는 정적인 데이터를 처리하는 서버로 이미지나 단순 html 같은 정적인 리소스들을 전달하며 WAS만을 이용할 경우보다 빠르고 안정적으로 기능을 수행합니다.
  • WAS는 동적인 데이터를 위주로 처리하는 서버로, DB와 연결되어 사용자와 데이터를 주고받고 조작이 필요한 경우 WAS를 활용합니다.

🏷️ 결론

WAS만으로도 서비스는 가능하지만 안정성, 보안, 확장성을 위해 웹 서버를 앞단에 두는 구조가 권장됩니다.

1. 보안성 강화 (Security)

  • 웹 서버는 클라이언트와 직접 맞닿는 '최전방'입니다.
  • 웹 서버를 앞단에 두어 실제 비즈니스 로직과 DB가 있는 WAS의 IP를 외부에 노출하지 않을 수 있습니다.
  • 공격자가 침투하더라도 중요 데이터가 있는 WAS로 직접 접근하는 것을 한 단계 차단하는 방어막 역할을 합니다.

2. 무중단 서비스 운영 (High Availability & Load Balancing)

  • 웹 서버 1대에 여러 대의 WAS를 연결할 수 있습니다.
  • 특정 WAS에 문제가 생겨도 웹 서버가 다른 WAS로 요청을 넘겨주는 로드 밸런싱(Load Balancing) 기능을 수행하여, 사용자에게는 서비스 중단 없이 안정적인 경험을 제공합니다.
  • 배포 시에도 WAS 하나씩 순차적으로 재시작하는 '무중단 배포' 구현이 쉬워집니다.

3. 효율적인 리소스 관리 (Optimization)

  • 정적 파일(이미지, CSS, JS)은 웹 서버에서 직접 캐싱하거나 처리하는 것이 훨씬 빠릅니다.
  • WAS는 오로지 비즈니스 로직 연산과 DB 통신에만 CPU와 메모리를 집중해서 사용할 수 있게 되어 전체적인 시스템 처리량이 향상됩니다.

📖 Reference

pxd story