백엔드 면접
WAS와 웹 서버의 차이점은 무엇인가요?
이런개발
2024. 12. 30. 08:59
웹 서버는 HTML, CSS, JS와 같은 정적 콘텐츠를 제공하는 역할을 수행합니다. 동적 콘텐츠 요청 시 요청을 WAS로 전달할 수도 있습니다. 대표적인 웹 서버로는 Apache, Nginx 등이 있습니다.
WAS(Web Application Server)는 동적 컨텐츠를 생성하거나 애플리케이션 로직을 실행하는 데 특화되어 있습니다. 자바에서 보통 서블릿 컨테이너 기능을 제공하면 WAS라고 부릅니다. 대표적인 WAS로는 Tomcat이 있습니다.
정리하자면, 웹 서버는 정적 콘텐츠 제공에 특화되어 있고, WAS는 동적인 컨텐츠 생성과 데이터 처리에 특화되어 있습니다.
WAS도 정적 컨텐츠를 제공할 수 있는데 웹 서버가 따로 필요한 이유는 무엇인가요?
WAS가 너무 많은 역할을 담당하면 과부하가 될 수 있습니다. 웹 서버를 따로 분리하여 WAS는 중요한 애플리케이션 로직에 집중할 수 있으며, 웹 서버는 정적 리소스를 처리하는 업무 분담이 가능합니다. 또한, 시스템 리소스를 효율적으로 관리할 수 있습니다. 정적 콘텐츠가 많이 사용되는 경우에는 웹 서버를 증설하고, 애플리케이션 자원이 많이 사용되면 WAS를 증설하면 됩니다. 외에도 로드 밸런싱을 하거나, 캐싱 및 압축, HTTPS 등을 웹 서버에서 처리하도록 할 수 있습니다.