Post

Web Server와 WAS

백엔드 인프라를 공부하다보면 한 어플리케이션의 트래픽이 Web Server와 WAS로 분산되는 것을 알 수 있습니다. Web Server, WAS가 무엇인지 그리고 어떤 이유로 구분돼있는지 알아보겠습니다.

Web Server란?

  • 개념
    웹 브라우저(Client)로부터 HTTP 기반 요청을 받아 정적인 컨텐츠(html, js, css, jpg 등)를 제공하는 프로그램
  • 기능
    HTTP 기반의 클라이언트(웹 브라우저, 웹 크롤러) 요청에 대해 서비스를 제공하는 기능(2가지 방식)
    • 방식 1
      • 정적 컨텐츠 제공
      • WAS를 거치지 않고 직접 제공
    • 방식 2
      • 동적 컨텐츠 제공을 위한 요청 전달
      • 클라이언트의 요청(Request)을 WAS에 보내고, WAS에서 처리된 결과를 클라이언트에게 응답(Response)
  • 종류
    Apache Server, Nginx, IIS 등

WAS란?

  • 개념
    DB 조회 등의 동적 컨텐츠 제공을 위한 Application Server로 HTTP를 통해 Application을 실행해주는 미들웨어입니다. 웹 컨테이너 또는 서블릿 컨테이너 라고 불립니다.
  • 기능
    • 프로그램 실행 환경과 DB 접속 기능 제공
    • 여러 개의 트랜잭션 관리 기능 제공
    • 업무 처리 비즈니스 로직 수행
  • 종류
    Tomcat, JBoss, Jeus, Web Shpere 등

정적 컨텐츠와 Web Server / 동적 컨텐츠와 WAS

web-server-and-was
( 출처 : https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html )

Web Server와 WAS를 구분하는 이유

  • 기능 분리로 서버 부하 방지
  • 물리적 분리로 보안 강화
  • 여러 대의 WAS 연결로 서버 장애시 안정성 확보
  • 여러 종류의 Web Application 서비스 가동
This post is licensed under CC BY 4.0 by the author.