웹 서버와 Web Application Server

2022. 5. 14. 00:13Spring

728x90

웹 서버

일반적으로 불리는 웹 서버란 클라이언트의 요청에 대해 정적인 리소스(HTML, CSS, JS 이미지, 영상)를 응답한다.

또한, 클라이언트가 동적 컨텐츠를 요구한다면 WAS에게 해당 요청을 넘겨주고, WAS에서 처리한 결과를 클라언트에게 전달해줄 수도 있다.

그리고, 웹 서버는 단순히 정적인 리소스만 클라이언트에게 제공해주면 되기때문에, 거의 장애가 일어나지 않는다.

 

그래서 웹 서버 자체로만은 동적 페이지를 클라이언트에 전달할 수 없으며, 이는 다른 애플리케이션을 필요로한다.

 

대표적인 웹서버로 Apache가 있다.

 

WAS(Web Application Server)

 

WAS는 정적 리소스와 애플리케이션 로직 모두 제공한다.

그리고, 웹 서버 단독으로는 처리할 수 없는 데이터베이스의 조회나 다양한 로직처리가 필요한 동적 컨텐트를 제공한다. 

WAS는 JSP, Servlet, Spring MVC등을 제공해준다.

 

대표적으로, 톰캣이 있다.

 

당연히, 웹 서버와 WAS 모두 HTTP 기반으로 동작한다.

 

웹 시스템 구조

 

 

Web Server가 정적 리소스 담당, WAS가 애플리케이션 로직 담당!!

 

의문 : WAS가 정적 리소스와 애플리케이션 로직을 담당할 수도 있지 않을까요??

 

그렇다.

하지만, WAS가 이들을 모두 담당하게 되면, WAS의 책임이 너무 커진다.

그리고, WAS는 Web Server보다 서버가 죽을 가능성이 높다.

 

따라서, WAS가 죽을 시 사용자에게 오류페이지를 띄어줄 수 있는 Web Server가 필요하다.

 

 

 

오늘도 열공하세요!

728x90

'Spring' 카테고리의 다른 글

Spring - AOP  (0) 2022.07.19
의존성 관리 -2  (0) 2022.07.15
의존성 관리-1  (0) 2022.07.14
스프링 XML 설정  (0) 2022.07.14
스프링 프레임 워크를 배우기 전 용어 정리  (0) 2022.07.08