이번 포스트는 WS(Web Server)와 WAS(Web Application Server)가 무엇인지, 차이와 역할에 대해 설명하겠습니다.
WS의 역할

정리하자면, WS(Web Server)는 HTML, CSS, JavaScript, 이미지 등 정적 콘텐츠를 처리하고, 동적 요청은 WAS(Web Application Server)에 전달하는 역할을 합니다.
WAS의 역할

정리하자면, WAS(Web Application Server)는 클라이언트의 동적 요청을 처리하고 비즈니스 로직을 실행하여 결과를 반환하는 서버입니다.
밑의 그림처럼, WAS, DB만으로 시스템 구성이 가능합니다.
(WAS가 정적 리소스, 애플리케이션 로직을 모두 제공이 가능하기에)

그럼, 이렇게 WAS로 애플리케이션 로직, 정적컨텐츠 제공을 하면 되지않냐? 라고 생각이 드실 수 있습니다.
하지만, 이런 방식의 웹 시스템 구성은 WAS가 너무 많은 역할을 담당하게 되어, 서버 과부하 우려가 발생할 수 있습니다. 또한, WAS에서 돌아가야 할 애플리케이션 로직이 정적 리소스 때문에 WAS의 버그가 발생할 수 있습니다. 이렇게 WAS에 장애가 발생하면, 정적컨텐츠로 제공되어야 하는 오류화면도 노출이 불가능하게 됩니다.
따라서, WS와 WAS에 각각 역할을 수행시키는 웹 시스템 구성을 따르는 것이 좋습니다. 밑의 그림처럼 말이죠.

이 구성의 특징을 정리하자면,
최종적으로, 정적리소스와 애플리케이션 리소스의 사용량에 따라서 WS를 증설하거나, WAS를 증설할 수 있습니다.

다음 포스트에서는 WAS의 핵심 컴포넌트인 서블릿과 쓰레드에 대해서 포스트하겠습니다! 다음 포스트에서 봅시다!!
WS 와 WAS의 관계가 모호하다고 생각했는데, 이 글을 보고 명확하게 이해하였네요! 다음 포스팅인 서블릿과 쓰레드도 기대하겠습니다!