[C언어] Web Server 와 WAS(Web Application Server)

채상엽·2023년 4월 17일
0

SW사관학교 정글

목록 보기
28/35
post-thumbnail

Web Server 와 WAS(Web Application Server)

웹 서버와 WAS는 어떠한 차이점을 가지고 있을지 궁금하다면 다음 포스팅을 참고하자
웹 서버와 WAS의 차이

간단하게 소개하자면 웹 서버는 정적 컨텐츠를 다루며, WAS는 동적 컨텐츠를 처리한다.
그렇다면 여기서 말하는 정적(static)동적(dynamic)은 무엇을 의미하는 걸까?

정적(static)

사용자의 요청에 대해 그 응답의 결과가 변하지 않는 것을 의미한다.

동적(dynamic)

사용자의 요청에 대해 그 응답의 결과가 변하는 것을 의미한다.

쉽게 말하자면 웹 서버에서는 단순 HTML, image 같은 정적인 컨텐츠들을 사용자에게 응답하며, WAS에서는 보다 복잡한 계산이나, DB 접근 같은 로직들을 수행한다.

그렇기 때문에 웹 서버 == 정적 서버 이며, WAS == 동적 서버가 성립한다.
그렇다면 WAS는 동적 컨텐츠에 대한 처리만 가능하고, 정적 컨텐츠를 처리하는 일을 수행하는 것은 불가능한가? 그렇지 않다. 웹 서버도 동적 처리를 수행하도록 구현할 수 있으며, WAS도 정적 처리를 수행하도록 구현할 수 있다.

그렇다면 왜 웹 서버와 WAS를 구분짓는 것일까?

웹 서버와 WAS를 나누는 이유?

WAS는 일반적으로 복잡한 비즈니스 로직 연산이나 DB 접근 같은 처리 시간이 오래 걸리고 중요한 작업들을 수행한다. 그렇기 때문에 정적 서버인 웹 서버를 WAS의 앞에 두어 여러가지 장점을 취할 수 있게 된다.

  1. 역할 분리
    웹 서버는 클라이언트로부터 HTTP 요청을 받아 정적 컨텐츠를 제공하고, WAS는 동적 컨텐츠를 처리하도록 해서 상대적으로 중요한 작업을 수행하는 WAS의 부하를 줄일 수 있다.
  2. 확장성
    웹 서버와 WAS를 분리했기 때문에 특정 트래픽에 대해서 모든 서버를 확장할 필요가 없다. 정적 컨텐츠 요청에 대한 부하가 증가했을때 웹 서버만 확장하면 되고, 동적 컨텐츠에 대한 요청에 부하가 증가했을때는 WAS만 확장하면 된다는 장점을 얻을 수 있다.
  3. 유연성
    각각 독립적인 기술 스택을 가지고 있기 때문에, 각각의 역할에 맞는 최적의 기술 스택을 선택하여 사용할 수 있다.

대표적으로는 이 정도이며, 이 외에도 많은 장점들을 얻을 수 있다.

profile
프로게이머 연습생 출신 주니어 서버 개발자 채상엽입니다.

0개의 댓글