[TIL] 웹 서버, 웹 애플리케이션 서버

SSOYEONG·2022년 7월 5일
0

스프링 MVC 1편

목록 보기
1/6
post-thumbnail

Intro

  • 웹은 HTTP 기반
  • 클라이언트 <-> 서버 시 HTTP를 기반으로 동작
  • HTTP 메시지에 모든 것을 전송 (HTML, IMAGE, API 등등)

웹 서버(Web Server)

  • HTTP 기반으로 동작
  • 정적 리소스 제공
  • 정적(파일) HTML, CSS, JS, 이미지, 영상 등
    ex) NGINX, APACHE
    // 서버 응답 시 index.html 파일 serving

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

  • HTTP 기반으로 동작
  • 웹 서버 기능 + 알파
  • 사용자에 따라서 다른 화면 가느
  • 프로그램 코드를 실행해서 애플리케이션 로직 수행
  • 동적 HTML, HTTP API
  • 서블릿, JSP, 스프링 MVC
    ex) Tomcat Jetty, Undertow

차이

  • 웹 서버는 정적 리소스
  • WAS는 애플리케이션 로직도
    // 사실 경계는 모호

웹 시스템 구성 - WAS, DB

  • WAS가 너무 많은 역할을 담당한다
  • 가장 비싼 애플리케이션 로직이 정적 리소스 때문에 수행이 어려울 수 있음
  • WAS 장애 시 오류 화면도 노출 불가능

웹 시스템 구성 - WEB, WAS, DB

  • 정적 리소스를 앞에 둔다. 이건 웹 서버가 처리
  • WAS는 애플리케이션 로직에 집중할 수 있다.
  • 효율적인 리소스 관리가 가능
  • 웹 서버는 정적 리소스만 제공하기에 잘 죽지 않음
  • WAS 서버는 잘 죽음. 이때 WEB 서버가 오류 화면 제공 가능

References
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard
인프런 - 김영한님의 [스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술] 수강하며 필기한 내용입니다.

profile
Übermensch

0개의 댓글