본문 바로가기
Exam & Study

웹서버(WEB)와 웹애플리케이션서버(WAS) 차이!!

by GoodDayDeveloper 2022. 1. 5.
반응형

안녕하세요. 웹서버(WEB)와 웹애플리케이션서버(WAS) 차이에 대해 이야기해보겠습니다.

 

 

 

웹서버 (Web Server)

 

 

  • 웹서버는 HTTP 기반으로 동작합니다.
  • 정적 리소스와 기타 부가기능을 제공합니다.
  • (정적(파일) HTML, CSS, JS, 이미지, 영상 등)
  • 서버는 NGINX와 APACHE를 주로 사용합니다.

 

 

 

 

웹 애플리케이션 서버(WAS - Web Application Server)

(Application의 뜻은 응용프로그램(로직)입니다.)

 

  • HTTP 기반으로 동작합니다. 
  • 웹 서버 기능에 정적 리소스 포함하여 제공 가능합니다. (가장 핵심입니다.)
  • 프로그램 코드를 실행해서 애플리케이션 로직 수행합니다.
  • 동적 HTML, HTTP API(JSON)를 사용합니다.
  • 서블릿, JSP, 스프링 MVC를 사용할 수 있습니다.
  • 서버로는 톰캣(Tomcat) Jetty, Undertow이 있습니다.

 

 

 

 

웹서버(WEB)와 웹애플리케이션서버(WAS) 차이

 

주로 웹 서버는 정적 리소스(HTML 등의 파일), WAS는 애플리케이션 로직을 실행합니다.

웹 서버도 프로그램을 실행하는 기능을 포함하기도 하여 사실은 둘의 용어도 경계도 모호합니만,

WAS는 애플리케이션 코드를 실행하는데 더 특화된 기능을 같고 있다고 보시면 됩니다.

(자바는 서블릿 컨테이너 기능을 제공하면 WAS 입니다. 단, 서블릿 없이 자바를 실행하는 서버 프레임워크도 있습니다.)

 

 

 

 


 

 

웹이 WAS와 DB로만 구성되었을 경우의 형태입니다.

 

 

위의 그림처럼 WAS가 너무 많은 역할을 담당하여 서버의 과부화가 우려되는 현상이 발생됩니다.

또한 WAS 장애시에 오류 화면도 노출 불가능할 수 있습니다.

 

 

 

 

 

이를 개선한 형태로 WEB, WAS, DB로 구성되어 있을 경우의 형태입니다.

 

 

 

 

정적 리소스는 웹 서버가 처리해주면서,

웹 애플리케이션 서버는 애플리케이션 로직같은 동적인 처리가 필요하면 WAS에 요청하고,

WAS는 중요한 애플리케이션 로직을 전적으로 담당하여 처리하는 구조입니다.

이는 효율적인 리소스 관리가 되는 구조를 갖을 수 있습니다.

 

반응형

댓글