
Web Server
Web Server, 웹 서버는 클라이언트로부터 요청을 받아 응답을 제공하는 서버이다.
HTML, CSS와 같은 정적인 리소스를 클라이언트에게 전달하는 매개체 역할을 수행한다.
대표적인 웹 서버로는 Apache와 Nginx가 있다.
WAS(Web Application Server)
WAS는 웹 서버로부터 전달받은 요청을 컨테이너 내에서 처리한 뒤, 그 결과를 웹 서버에게 전송한다.
이때, 반환하는 응답은 주로 동적인 페이지(JSP, PHP 등) 형태로 웹 서버에게 전달된다.
또한 WAS는 Fit.1 그림과 같이 웹 서버의 역할(정적인 리소스 전달)을 함께 수행할 수 있지만,
서버의 부하를 방지하기 위해(+ 보안을 위해) 분리하여 사용한다.
(주로 웹 서버로는 Apache, WAS로는 Tomcat를 조합하여 사용한다.)
WAS 종류는 Tomcat, JEUS 등이 있다.
Web Container
웹 컨테이너(서블릿 컨테이너)는 웹 서버로부터 요청을 받아 → 요청(URL)에 맞는 Servlet의 메소드를 호출한다.
Servlet의 메서드 내에서 비즈니스 로직을 처리한 후, 그 결과를 다시 웹 서버로 반환한다.
※ Servlet(서블릿): 요청에 대한 응답을 처리하기 위한 자바 클래스로, 웹 컨테이너 환경에서 동작한다.
이때 서블릿은 컴파일된 .class 파일 형태로 웹 컨테이너 안에 등록되어,
요청이 들어올 때마다 실행된다.
(등록된 서블릿 인스턴스는 싱글톤 구조이다.)
👏
참고
https://velog.io/@bky373/Web-%EC%9B%B9-%EC%84%9C%EB%B2%84%EC%99%80-WAS
'Development > 개발 공부' 카테고리의 다른 글
| [Test] Stub을 이용한 단위 테스트(with JUnit) (0) | 2025.09.30 |
|---|---|
| [Test] 단위 테스트(Unit Test) (0) | 2025.09.27 |
| 가상 머신(VM, Virtual Machine) (0) | 2025.08.27 |
| 컴파일 타임(Compile Time) / 런타임(Runtime) (0) | 2025.08.26 |
| 쿠키(Cookie)/세션(Session)/토큰(Token)(+JWT) (0) | 2025.08.23 |