웹 서버, WAS

Jinjin·2026년 7월 19일

웹 서버와 WAS의 차이에 대해 명확히 알고 있지 않은 상태에서 개발자로 일을 한다는 생각이 들어서 이번에 두 서버의 차이에 대해 확실히 알고 넘어가기 위해 글을 정리하게 되었습니다.

1. 웹 서버란?

사용자가 브라우저 주소창에 url을 입력해서 페이지를 요청했을 때, http 요청을 받아들여 정적인 콘텐츠(ex. HTML 문서)를 사용자에게 전달해주는 역할을 말합니다.

  • 웹 서버가 하는 일
    • client에게 웹 리소스를 전달하거나, client로부터 콘텐츠를 전달받아 저장/처리하는 역할
    • client로부터 동적인 요청(=DB에 접근하는 비즈니스 로직)이 들어왔을 때, WAS에게 요청하는 역할
  • 웹 서버의 종류
    • Apache, Nginx

2. WAS(Web Application Server)란?

웹 서버와 동일하게 HTTP 기반으로 동작하며, 웹 서버가 할 수 있는 대부분의 기능을 WAS에서도 처리할 수 있습니다. 서버사이드 코드를 처리할 수 있어 사용자에게 동적인 콘텐츠를 전달할 수 있으며, 주로 DB 서버와 같이 수행합니다.

  • WAS가 하는 일
    • 동적인 요청을 받아 처리해 주는 서버입니다.
  • WAS의 종류
    • Tomcat, Jeus, Web Sphere

3. 차이점

웹 서버는 정적인 콘텐츠(HTML, CSS, ..)를 client에게 보여주는 역할을 하며 WAS는 동적인 데이터를 위주로 처리합니다.

WAS에서도 웹 서버가 하는 일을 할 수 있는데 왜 서버를 분리하는 것일까요 ..?


4. 웹 서버와 WAS를 분리하는 이유

  1. WAS는 DB 조회 및 다양한 비즈니스 로직을 처리하는 데 집중해야 합니다. 따라서, 단순한 정적 콘텐츠는 웹 서버에게 맡김으로써 기능을 분리해 서버 부하를 방지해야 합니다. 만일, WAS가 정적 콘텐츠 요청까지 처리한다면 부하가 커지고 동적 콘텐츠 처리가 늦어지면서 수행 속도가 느려지게 됩니다.
  1. 사람들이 많이 접속하는 대용량 WAS인 경우, 서버 수가 여러 대일 수 있습니다. 만일, 사용 중에 WAS에 문제가 생겨 재시작해야 하는 경우가 생겼을 때 앞단의 웹 서버에서 WAS를 사용하지 못하도록 요청을 차단한 후 WAS를 재시작한다면 사용자들은 WAS에 문제가 생긴지 모른 상태로 이용할 수 있습니다. 규모가 커질 수록 웹 서버와 WAS를 분리하여 효율성, 배포 및 유지 보수 편의성을 높일 수 있습니다.

참고: https://yozm.wishket.com/magazine/detail/1780/

profile
BE Developer

0개의 댓글