[Spring] Web Server

늘보·2025년 2월 20일

Spring

목록 보기
11/24
post-thumbnail

Web Server

HTTP 기반으로 동작하며 정적 리소스(HTML, CSS, JS, 이미지 등)을 제공한다.
➡︎ 리소스가 이미 완성된 채로 서버에 존재하여 원본 그대로 응답하는 데이터를 의미한다.


[대표적인WebServer][대표적인 WebServer]


Web Application Server

HTTP 기반으로 동작하며 웹 서버의 기능을 포함한다. 추가적으로 코드를 실행해서 Application 로직을 수행하고 DB와 상호작용하여 동적 컨텐츠를 생성 한다.

[대표적인WebServer][대표적인 WebServer]


Web Server와 WAS의 차이점

  • 실제로는 Web Server도 Application 로직을 포함할 수 있다.
  • WAS는 Application 코드를 실행하는 것에 더욱 특화 되어 있다.
  • Java에서는 Servlet Container 기능을 제공하면 WAS이다.

Web System 구성

WAS만 사용하는 경우

로직과 정적 리소스를 모두 담당할 경우 WAS가 너무 많은 역할을 담당하게 되면서 서버 과부하 발생 가능성이 높아진다.

실행에 가장 중요한 Application 로직이 정적 리소스로 인해 수행되지 않을 수 있다.
WAS에 장애가 생기면 아무런 화면도 보여주지 못한다. ➡︎ 오류 페이지를 클라이언트에게 응답할 수 없다.


실제 웹 시스템 구성


실제 웹 시스템 구성의 장점

🟢 효율적으로 리소스를 관리할 수 있다.

  • 정적 지원이 많이 사용된다면 Web Server를 ScaleOut한다.
  • Application 관련 자원이 많다면 WAS를 ScaleOut한다.

🟠 오류 화면을 제공할 수 있다.

  • Web Server는 오류가 발생할 확률이 아주 낮다
  • WAS는 오류가 발생할 확률이 아주 높고, 장애가 자주 발생한다.
  • WAS는 DB와 상호작용 하기 때문에 DB에 문제가 생겨도 문제가 발생한다.
profile
누워만 있지 말고 제발 뭐라도 하자.

0개의 댓글