동적인 컨텐츠 관리를 위한 미들웨어, WAS
동적인 컨텐츠, 정적인 컨텐츠
Web server와 WAS(Web Application Server)는 어떻게 다를까요?

Web Server는 HTTP 프로토콜을 기반으로 클라이언트 정적인 콘텐츠 전달하는 역할을 합니다. 정적인 컨텐츠라고 하면, html이나 jpg, css같은 이미지와 글자 등을 우리 눈에 보일 수 있게 하는 화면 구성 요소들을 뜻합니다. 또 웹서버가 수행할 수 없는 동적인 컨텐츠를 WAS에게 요청하고, WAS의 처리 결과를 클라이언트에게 전달합니다.

그렇다면 동적인 컨텐츠는 어떤 걸 의미할까요? 화면을 구성하는 요소들 외에, DB 처리와 같이 요청에 맞는 데이터를 비즈니스 로직에 맞게 그 때마다 결과값을 만드는 것을 뜻합니다. 따라서 IP관리나 세션 처리 등의 요청은 WAS에서 처리하게 됩니다.
Web server와 WAS를 분리하는 이유
모든 웹 브라우저들에는 정적인 컨텐츠와 동적인 컨텐츠가 공존할 수 밖에 없습니다.
클라이언트에게 브라우저 로그인에 대한 요청을 받았다고 가정해봅시다.
웹서버에서 로그인 페이지를 구성하는 모든 폰트, 이미지, 디자인 값(css)들을 유지하면서도 로그인을 위한 DB 조회와 로직을 전부 처리하게 하면 어떻게 될까요?
당연히 응답 시간도 오래 걸릴 뿐더러 클라이언트가 많아질 수록 서버 부하에 취약해지게 됩니다. 이 둘을 분리함으로써 웹서버에선 정적인 컨텐츠를 계속 띄워주고, WAS가 그 뒷단에서 빠르게 로직을 처리하여 결과값을 가져와 웹서버에 띄울 수 있도록 합니다. 또 데이터를 분리함으로써 보안을 강화할 수 있다는 장점도 있죠.

WAS는 프론트엔드와 백엔드의 중간에서 값을 처리하고 전달하기때문에, 미들웨어라고 불립니다.
보통 미들웨어에서는 데이터 관리, 메세징, 인증 및 API 관리들을 담당하고 있어 클라우드 네이티브 아키텍처의 기반이 되는 중요한 요소입니다.

Tag Archive for: WAS

OPENMARU Cluster