Skip to Content
Suffering builds character

1.웹 서버

web_process

1. 웹 서버, Web Server

정적 리소스(HTML, CSS, JS, 이미지, 영상 등)를 제공하는 서버

ex) NGINX, APACHE

2. 웹 애플리케이션 서버, Web Application Server

웹 애플리케이션 서버는 웹 서버의 기능도 포함하고 있기 때문에 정적 리소스를 제공 할 수 있음

웹 서버와의 차이점은 프로그램 코드를 실행해서 애플리케이션 로직을 수행할 수 있다는 점

  • 동적 HTML, HTTP API(JSON)
  • 서블릿, JSP, 스프링 MVC 등이 WAS에서 동작

ex) Tomcat, Jetty, Netty, Undertow

기본적으로 웹 시스템은 WAS, DB만으로 구성 가능
WAS는 정적 리소스도 제공하기 때문에 React, Vue가 없어도 됨

하지만 이렇게 되면 WAS가 너무 많은 역할을 담당하기 때문에 서버 과부하의 우려가 있음

WAS가 정적 리소스 요청을 처리하는 작업으로 인해 동적인 처리를 수행하는 작업이 영향을 받으면 안됨

또한 버그로 인해 WAS가 장애가 발생하면 오류 화면을 응답하는 것조차도 불가능해질 수 있음

3. 일반적인 웹 시스템의 구성

정적인 리소스는 요청의 앞단에서 Web Server가 처리하고,
별도의 동적인 처리가 필요한 부분은 Web Server에서 WAS에게 위임하여 처리하는 방식

따라서 WAS는 동적인 처리 로직만 전담하게 됨

Last updated on