본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ
IT기술/CS(ComputerScience)

웹 서버와 WAS(Web Application Server)의 차이점이 뭘까?

by 미노드 2024. 2. 8.

웹 서버와 WAS(Web Application Server)를 같이 연동해서 사용한 적이 있습니다.
성능의 향상을 위해 라는 이유로 둘을 동시에 연동해서 사용했는데 이번에 이 관련해서 정리해보려 합니다.

웹 서버(web server)는 HTTP 또는 HTTPS를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해주는 서비스 프로그램을 말합니다.

주로 정적 컨텐츠를 클라이언트로 전달하고, 클라이언트로부터 콘텐츠를 전달받거나 처리합니다.
동적 컨테츠가 필요할 때, WAS에 요청을 전달하여 처리한 결과를 클라이언트에게 전달합니다.

웹 애플리케이션 서버(Web Application Server, WAS)는 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공합니다.
주로 동적 서버 콘텐츠를 수행하는 것으로 일반적인 웹 서버와 구별이 되며, 주로 데이터베이스 서버와 같이 수행됩니다.

JSP, Servlet 구동환경을 제공해주기 때문에 서블릿 컨테이너 혹은 웹 컨테이너로 불리며, 다음 역할을 주로 수행합니다.
- 프로그램 실행 환경과 데이터베이스 접속 기능을 제공한다.
- 여러 개의 트랜잭션을 관리한다.
- 업무를 처리하는 비즈니스 로직을 수행한다.

그렇다면 웹서버와 WAS를 구분하는 이유가 무엇인가요?

1. 서버 부하 분산

웹서버와 WAS를 분리하여 여러 트랜젝션이나, 컨텐츠를 처리하는 부하를 분산시켜 수행 성능을 향상시키기 위함입니다.
WAS가 동적 컨텐츠를 담당하여 처리하고, 웹서버가 단순 정적 컨텐츠를 처리함으로써 기능을 분리해 서버 부하를 분산합니다.

2. 여러 WAS 이용 가능

대용량 트래픽을 처리하기 위해 WAS 하나로 처리량을 따라잡지 못할 수 있습니다.
이를 위해 WAS를 여러개 연결하여 WAS에 문제가 생긴다고 해도, 문제가 있는 WAS만을 재시작하여 장애 극복을 가능하게 합니다.

정리해보면,  WAS는 Web server와 Web Cintainer가 합쳐진 역할을 합니다. 
알 수 있듯 WAS가 Web Server보다는 보다 포괄적인 개념에 속합니다. 
그럼에도 역할을 나누고 차이점을 두는 이유는 서비스를 원활하게 제공하기 위해서 인 것으로 생각됩니다.

정정이 필요한 내용이있다면 언제든 부탁드립니다.