웹서버? WAS?


정의

  1. 웹서버 : 정적인 컨텐츠를 제공하는 서버(html, css, js)입니다.

  2. WAS : DB조회나, 로직을 처리하는 동적 컨텐츠를 제공하는 서버입니다.

대부분의 WAS는 정적 컨텐츠 역시 제공해주기때문에 WAS에 웹서버가 포함되는 개념이라 봐도 상관없습니다.

그럼 왜 웹서버를 사용할까요??

첫번째는 WAS의 부담을 줄이기 위해서입니다.

WAS이전에 웹서버를 두어 웹서버에서는 정적인 문서만을 처리하도록 하며, WAS에서는 애플리케이션의 로직만 수행하도록 기능을 분배하여 서버 부담을 최소화할 수 있죠.

두번째로, WAS를 Webserver와 분리함으로써 중요 설정파일을 보호할 수 있습니다.

WAS에는 DB Connection정보와 같은 여러 중요설정파일들이 위치하게 됩니다. 따라서 이를 노출시키지 않도록 하기 위해 웹서버를 앞단에 배치시키는것이죠. 또한, 웹서버와 WAS의 접근 포트가 다르기때문에 WAS의포트에 방화벽을 설정하여 보안을 강화할 수 있습니다. 즉, 분리된 구조로 보안강화의 이점이 있어요.

이외의 다른 장점으로는 하나의 웹서버를 다수의 WAS에 연결할 수 있다는 점입니다.

Neo4j를 이용하는 Spring FrameWork기반의 WAS, Tibero를 이용하는 PO 기반의 WAS가 있다고 해봅시다. 이때 프론트엔드를 구성하는 웹서버(리액트)가 위치하게 되면, 사용자는 Spring이든 PO든 WAS에 구애받지않고 동일한 서비스를 이용할 수 있게 되죠.