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

FE.1·2023년 10월 20일
0
post-thumbnail

웹 서버(Web Server)

  • HTTP 기반으로 동작
  • 정적 리소스 제공, 기타 부가기능 제공
  • 정적(파일)HTML, CSS, JS, 이미지, 영상
  • ex) NGINX, APACHE

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

  • HTTP 기반으로 동작
  • 웹 서버 기능 포함 + (정적 리소스 제공 기능)
  • 프로그램 코드를 실행시켜 애플리케이션 로직 수행
    - 동적 HTML, HTTP API(=REST API)(JSON)
    - 서블릿, JSP, 스프링MVC
  • ex) 톰캣, Jetty, Undertow

차이점

  • 웹 서버는 정적 리소스 / WAS는 애플리케이션 로직
  • 용어도 경계도 모호함
    - 웹 서버도 프로그램을 실행하는 기능을 포함하기도 함
    • WAS도 웹 서버 기능을 제공함
  • 자바는 서블릿 컨테이너 기능을 제공하면 WAS
  • WAS는 애플리케이션 코드를 실행하는데 더 특화

❌ 웹 시스템 구성 (WAS, DB)

  • WAS만으로도 웹 시스템을 구축할 수 있다. 하지만 WAS가 너무 많은 역할을 담당하므로 서버 과부하가 우려될 수 있다.
  • 가장 비싼 애플리케이션 로직이 정적 리소스 때문에 수행이 어려울 수 있다.
  • WAS 장애시 오류 화면(404 에러 페이지)도 노출 불가능하다.

✅ 웹 시스템 구성 (WEB, WAS, DB)

  • 정적 리소스는 웹 서버가 처리한다.
  • 웹 서버는 동적인 처리가 필요하다고 판단하면, WAS에 요청을 위임한다.
  • WAS는 중요한 애플리케이션 로직을 전담한다.

효율적인 리소스 관리

  • 정적 리소스가 많아지면, Web 서버를 증설하면 된다.
  • 애플리켕션 리소스가 많아지면, WAS를 증설하면 된다.
profile
공부하자!

0개의 댓글