CS/Computer Network

[매일매일 CS] WAS와 웹 서버의 차이점은 무엇인가요?

Coding Kitsune 2025. 9. 15. 17:33

 

 

 

웹 서버는 정적 컨텐츠 (HTML,CSS,JS,이미지)를 제공하는 역할을 수행합니다.

동적 컨텐츠 요청 시 요청을 WAS로 전달할 수도 있습니다. 대표적인 웹 서버로는 Apache, NginX 등이 있습니다.

 

 

 

 

웹 서버가 WAS 종류 <출처 : pxd 블로그>

 

반면, 자바 진영에서 WAS(Web Application Server)는 서블릿 컨테이너 기능을 제공하고,

동적 컨텐츠를 생성하거나, 애플리케이션 로직을 실행하는 데 특화되어 있습니다. 대표적인 WAS로는 Tomcat이 있습니다.

 

즉 웹 서버는 정적 컨텐츠 제공에 특화되어 있으며, WAS는 동적인 컨텐츠 생성과 데이터 처리에 특화되어 있습니다.

 

 

그럼 WAS도 정적 컨텐츠를 제공할 수 있는데 웹 서버가 따로 필요한 이유는 무엇일까요 ? 🤔

 

WAS가 너무 많은 역할을 담당하면 과부하될 수 있습니다. 웹 서버를 따로 분리하면 WAS는 중요한 애플리케이션 로직에 집중할 수 있으며, 웹 서버는 정적 리소스를 처리하면서 업무 분담이 가능합니다. 또한, 시스템 리소스를 효율적으로 관리할 수 있습니다.

정적 컨텐츠가 많이 사용되는 경우에는, 웹 서버를 증설하고, 애플리케이션 자원이 많이 사용되면 WAS를 증설하면 됩니다.

이외에도 로드 밸런싱을 하거나, 캐싱 및 압축, HTTPS 등을 웹 서버에서 처리하도록 할 수 있습니다.

 

 

 

조금 더 깊게 파보자면,

 

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

 

웹 서버의 임무는 대표적 2가지로,

 

1. 단순히 저장된 웹 리소스들을 클라이언트로 전달하고, 클라이언트로 부터 컨텐츠를 전달받아 저장하거나 처리한다.

 

2. 사용자로부터 동적인 요청이 들어왔을 때, 해당 요청을 웹 서버 자체적으로 처리하기 어렵기 때문에 WAS에게 요청함.

 

 

WAS 또한 웹 서버와 동일하게 HTTP 기반으로 동작합니다. 웹 서버가 할 수 있는 기능 대부분이 AWS에서도 처리가 가능하며, 비즈니스 로직(서버사이드 코드)을 처리할 수 있어 사용자에게 동적인 컨텐츠를 전달할 수 있습니다. 주로 데이터베이스 서버와 같이 수행됩니다.

 

 

 

효율적으로 사용하려면 ? 

 

WAS는 DB 조회 및 다양한 로직을 처리하는 데 집중해야 합니다. 따라서 단순한 정적 컨텐츠는 웹 서버에게 맡기고, 

기능을 분리해 서버 부하를 방지해야 합니다.

 

만약 WAS가 정적 컨텐츠 요청까지 처리하게 되면, 부하가 커지고 동적 컨텐츠 처리가 지연되면서 수행 속도가 느려집니다.

이에 따라 페이지 노출 시간이 늘어나는 문제가 발생하여 효율성이 크게 떨어지게 됩니다.

 

 

'CS > Computer Network' 카테고리의 다른 글

[매일매일 CS] HTTPS에 대해  (0) 2025.09.16
Nework Application Layer  (4) 2025.08.27
Network 기본  (2) 2025.08.27
Application Layer  (3) 2025.08.04