웹 서버(Web Server)
HTTP 기반 동작
정적 리소스, 기타 부가기능 제공
정적(파일) HTML, CSS, JS, 이미지, 영상 등
ex ) APACHE
웹 애플리케이션 서버(WAS - Web Application Server)
HTTP 기반 동작
웹 서버 기능 동작
프로그램 코드로 애플리케이션 로직 수행
- 동적 HTML, HTTP, API(JSON)
- 서블릿, JSP, 스프링 MVC
ex) Tomcat, Jetty 등
웹 시스템 구성1 - WAS, DB
WAS, DB만으로 시스템 구성한 상태
WAS는 정적 리소스, 애플리케이션 로직 모두 제공한다.
하지만 WAS가 너무 많은 역할을 담당해 서버 과부하가 걸릴 수 있으며,
정적 리소스 처리보다 복잡한 처리가 필요한 애플리케이션 로직 수행에 제한이 생길 수 있음.
또한 WAS 장애시 오류 화면도 노출이 불가능한 상태가 된다.
웹 시스템 구성2 - WEB, WAS, DB
정적 리소스를 WAS가 수행하지 않고 웹 서버가 처리한다.
웹 서버가 클라이언트에게 받은 로직을 처리할 수 없을 때만 WAS에 요청을 위임하여
WAS는 중요한 애플리케이션 로직 처리만 담당하게 된다.
웹 서버는 정적 리소스만 제공하여 로직이 간단하여 서버가 죽는 경우가 거의 없으나
WAS는 DB와의 연결 또는 복잡한 로직에서 문제가 발생하여 서버가 죽는 경우가 비교적 많다.
이 때, 웹 서버는 WAS 또는 DB 오류와 관련한 HTML 화면을 클라이언트에게 제공해줄 수 있다.
아래와 같이 웹 서버와 WAS 증설을 통해 보다 효율적인 리소스 관리도 가능하다.
단, 서버와 서버 간의 통신과 같이 정적 리소스 교환이 필요 없는 경우에는 별도의 웹 서버를 두지않고
WAS만을 두는 경우도 있다.(물론 서버 간 통신에도 정적 리소스 교환이 필요한 경우에는 웹 서버를 둘 수 있다.)
<내용 출처>
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의
웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원
www.inflearn.com
'스프링 > 스프링 MVC - 핵심기술' 카테고리의 다른 글
스프링 MVC - WAS가 전송하는 데이터 유형, 렌더링 기법 (0) | 2023.09.11 |
---|---|
스프링 MVC - 서블릿, 멀티 스레드 (0) | 2023.09.11 |