웹 서버와 WAS

문소영·2024년 3월 9일

웹 서버의 역할

💡 웹 서버는 클라이언트가 브라우저 주소창에 url을 입력하여 어떤 페이지를 요청하면, http 요청을 받아들여 HTML문서와 같은 정적인 콘텐츠를 사용자에게 전달해주는 역할을 한다. 사용자로부터 동적인 요청이 들어왔을 때는 해당 요청을 웹 서버 자체적으로 처리하기 어렵기 때문에 WAS에게 요청한다.

웹 어플리케이션 서버와 데이터베이스

💡 웹 어플리케이션 서버(WAS)는 동적 페이지를 처리한다. 웹 서버가 할 수 있는 기능 대부분을 WAS에서도 처리가능하다. WAS는 주로 데이터베이스 서버와 함께 수행되며 필요한 데이터 연산을 위해 데이터베이스와 연결하고 데이터 조회/수정/삭제에 대한 처리를 요청한다.

웹서버와 WAS의 차이

WAS는 웹 서버 기능의 많은 부분을 수행할 수 있지만 이 둘의 사용 목적이 다르다. 웹 서버는 이미지나 단순 html 같은 정적인 리소스들을 전달한다. 반면 WAS는 동적인 데이터를 위주로 처리하는 서버이고 DB와 연결되어 데이터 처리에 대한 요청을 한다.

WAS가 웹 서버의 기능을 모두 할 수 있으니, 웹 서버는 굳이 사용하지 않아도 될까? WAS는 DB 조회 및 다양한 로직을 처리하는 데 집중해야한다. 따라서 단순한 정적 콘텐츠는 웹 서버에게 맡기고 기능을 분리해 서버 부하를 방지해야 한다. 웹서버와 WAS를 함께 사용할 경우, WAS만을 이용할 때보다 빠르고 안정적으로 기능을 수행한다.


웹 서비스는 아래와 같이 다양한 구조를 가질 수 있다.

1) Client → 웹 서버 → DB

2) Client → WAS → DB

3) Client → 웹 서버 → WAS → DB

0개의 댓글