본문 바로가기

Develop/Spring

[Spring] WS, WAS, Web Container, Servlet Container

반응형

Web Server

HTTP를 통해 클라이언트가 어떤 요청을 하면 요청에 맞는 정적 컨텐츠를 제공하는 서버, 미들웨어입니다.

 

(미들웨어란, 애플리케이션과 운영 체제 사이에서 다양한 기능을 제공하는 소프트웨어 계층을 의미합니다. 여기서 다양한 기능이란 분산 시스템 간의 통신, 데이터 관리 등이 포함됩니다.)

 

주요 기능:

1. 정적 컨텐츠 제공

2. HTTP 요청 처리

3. 로드 밸런싱

4. .SSL/TLS 처리

5. 캐싱 ...

Web Application Server

DB 조회, 비즈니스 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Application 서버, 미들웨어입니다.
Web Server + Web Container로 볼 수도 있습니다.

WAS 구조 (https://velog.io/@zeesoo/WS-WAS)

주요 기능:

1. 동적 컨텐츠 제공

2. 비즈니스 로직 처리

3. 데이터베이스 연결

4. 트랜잭션 관리

5. 세션 관리

6. 인증 및 권한 부여

Web Container

Container

Container란 주로 애플리케이션의 구성 요소가 실행될 수 있는 환경을 제공해주는 소프트웨어 구성요소입니다. 예를 들어, Servlet Container는 Servlet이 실행될 수 있는 환경을 제공해주는 소프트웨어 컴포넌트로, 생명주기 관리, 멀티스레딩 관리 등의 기능을 제공합니다.

Web Container

Web Container란 웹 애플리케이션을 실행하고 관리하는 환경을 제공해줍니다. Web Server는 Servlet과 Java Server Pages(JSP)와 같은 웹 컴포넌트를 실행하며, 이들의 생명주기를 관리합니다. 참고로 Servlet Container와 JSP Container가 Web Container 안에 들어있다는 의미는 아니며, Web Container가 그들의 기능까지 포함하고 있다는 의미입니다. 

Web Container 구조 (출처: https://doozi316.github.io/web/2020/09/13/WEB26/)

Tomcat

Web Container의 예로 Tomcat을 들 수 있습니다. Tomcat은 Web Server의 기능을 일부 가지고 있어, WAS의 역할을 대신할 수 있습니다. 하지만, 애플리케이션의 크기가 커짐에 따라 로드 밸런싱과 같은 처리를 위해 Web Server와 Web Container를 분리하는 아키텍쳐를 많이 사용합니다.

반응형