[Spring] Web Server, Web Application Server(WAS)

2025. 6. 20. 17:20·Spring/MVC

HTTP의 기본을 충분히 공부하였으니 이제 웹에 대해 이해 해보자 !

우리는 현재 HTTP 프로토콜로 모든 데이터를 네트워크로 주고 받는다. 

이러한 HTTP 로 데이터를 주고 받는 웹 애플리케이션에 대해 알아보자.

웹 서버 (Web Server)

웹 서버는 HTTP 기반으로 동작한다.

정적 리소스 (HTML , CSS, JavaScript) 등을 제공하고, 대표적인 예시로 NGINX 가 있다.


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

WAS 도 HTTP 기반으로 동작한다.

하지만 WAS는 웹 서버의 기능을 포함하면서 프로그램 코들르 통해 애플리케이션 로직을 수행할 수 있다.

기존 웹 서버는 정적인 파일들만 내려줬다면, WAS 는 동적인 HTML을 생성하거나 API를 생성하여 응답할 수 있다.

대표적으로 스프링 부트가 기본으로 제공하는 Tomcat 이 있다.

 


웹 서버 vs 웹 애플리케이션 서버

웹 서버는 정적 리소스를 내려주는 역할을 하는 반면에, WAS는 애플리케이션 로직을 포함하여 동적인 리소스를 작성하고 응답할 수 있다는 큰 차이점이 존재한다.

사실 두개의 개념이 모호 하긴 한데, 웹 서버도 프로그램을 실행하는 기능을 포함하기도 하고, 웹 애플리케이션 서버도 웹 서버의 기능을 제공한다.


웹 시스템 구성

WAS와 DB만 있다면 사실 서비스를 운영할 수 있다.

하지만 이렇게 되면 WAS가 너무 많은 역할을 부담하게 되며 과부하가 일어날 수 있다.

순전히 정적 HTML을 뿌려주기만 하면 되는데, 만약 이러한 작업 때문에 중요한 애플리케이션 로직이 수행이 못될 수도 있다.

그래서 다음과 같은 방법으로 부하를 줄여주는 방법을 택하면 된다.

웹 서버에서 1차로 정적 리소스나 이미지를 뿌려주고, 동적인 처리가 필요하다면 이후에 WAS에서 비즈니스 애플리케이션 로직을 수행하면 된다.

이런식으로 웹 시스템을 구성하게 되면 정적 리소스가 많아지면 단순 웹 서버만 증설하면 되고, 애플리케이션 리소스의 사용이 증가하면 WAS만 증가하면 된다.

또한 웹 서버는 단순 정적 파일을 내려주는 작업만 하기 때문에 잘 죽지 않는다. -> 이때 이 웹 서버에 오류 페이지들을 넣어 놓고 WAS 나 DB 장애시 WEB 서버 단에서 오류 메시지 화면을 제공할 수 있다(테크놀로지아 ~).

'Spring > MVC' 카테고리의 다른 글

[Spring] HTTP Response 데이터 처리하기  (0) 2025.06.21
[Spring] HttpServletResponse와 제공 메서드  (0) 2025.06.21
[Spring] HTTP Request 데이터를 처리하는 3가지 방법  (0) 2025.06.21
[Spring] HttpServletRequest과 제공 메서드  (0) 2025.06.20
[Spring] Servlet - 서블릿이란?  (0) 2025.06.20
'Spring/MVC' 카테고리의 다른 글
  • [Spring] HttpServletResponse와 제공 메서드
  • [Spring] HTTP Request 데이터를 처리하는 3가지 방법
  • [Spring] HttpServletRequest과 제공 메서드
  • [Spring] Servlet - 서블릿이란?
xuv2
xuv2
집에 가고 싶다
  • xuv2
    xuvlog
    xuv2
  • 전체
    오늘
    어제
    • 전체 글 모아보기 (173)
      • 잡담 (9)
      • 도전 , 자격증 (2)
      • Error (6)
      • Java (23)
      • Spring (40)
        • Core (10)
        • MVC (21)
        • Thymeleaf (9)
      • DataBase (6)
        • Database Modeling (4)
        • SQL (2)
      • HTTP (11)
      • Network (17)
      • Software Engineering (3)
      • Operating System (3)
      • Algorithm (16)
      • Project (19)
        • Web (9)
        • iOS (8)
        • Python (1)
        • Toy Project (1)
      • A.I (13)
      • Linux (5)
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
xuv2
[Spring] Web Server, Web Application Server(WAS)
상단으로

티스토리툴바