웹 서버: 주로 정적인 리소스를 처리하며 HTML,CSS,JavaScript와 같은 파일을 클라이언트에 전달하는 역할.
WAS: 동적인 데이터 처리를 담당합니다. 데이터베이스와의 상호작용, 비즈니스 로직 실행, 사용자 요청 처리 등..
두 서버는 함께 작동하여 원활하게 사용할 수 있도록 지원한다.
[웹 서버]
- 정적인 콘텐츠를 처리합니다.
- 정적인 파일을 빠르게 전달하는데 최적화.
- 보통 HTTP 프로토콜 사용
- 사용자가 웹 페이지를 요청하면 웹 서버는 해당 HTML 파일을 클라이언트로 전달. 이과정에서 DB와의 상호작용은 필요 X
[WAS]
- 동적인 콘텐츠를 처리합니다.
- 복잡한 비즈니스 로직과 데이터 처리 수행.
- 사용자가 특정 데이터 요청하거나 입력하면, DB와 상호작용하여 필요한 데이터를 가져오고, 이를 처리한 후 클라이언트에게 전달.
[웹 서버와 WAS 서버를 분리하는 이유]
- 성능 최적화와 안정성 향상
- 각각의 역할에 맞는 최적화가 가능,시스템의 부하를 분산시킬 수 있다.
- 서비스 중단을 최소화 (WAS가 다운되더라도, 웹 서버는 여전히 정적인 콘텐츠를 제공)
- 보안 측면에서도 이점.(웹 서버는 외부에 노출/WAS는 내부 네트워크에서만 접근 가능하도록 설정 가능)
[웹 서버와 WAS 서버의 통합과 경계]
- 일부 웹서버는 동적 데이터 처리 기능을 제공/일부 WAS는 정적 컨텐츠 처리 가능.(경계의 모호성)
- 그렇기에, 특정 상황에서는 두 서버를 통합하여 사용하는것이 더 효율적일 수 있다.
- 예) 소규모 애플리케이션 -> 웹 서버와 WAS 서버를 통합하여 관리비용 줄이고 시스템 복잡성 낮춘다.
- 통합여부는 규모, 요구사항, 시스템 설계 목표에따라 달라지고 각서버의 역할과 기능을 명확히 이해해야한다.
[spring boot 내장 Tomcat은 어디?]
- 내장 Tomcat은 프로그램을 실행한다./ 웹 서버는 파일 전달만을 수행한다.
-Web Server동작 방식
요청 받음 → 파일 찾음 → 그대로 반환
GET /index.html
→ 디스크에서 index.html 읽음
→ 그대로 응답
-Tomcat 실행
GET /users/1
요청 수신
→ Servlet 실행
→ Spring DispatcherServlet 실행
→ Controller 실행
→ Service 실행
→ Repository 실행
→ DB 조회
→ JSON 생성
→ Response 반환
Tomcat은 Servlet Container를 통해 애플리케이션 코드를 실행하고
요청 처리 라이프사이클을 관리하기 때문에 WAS입니다.
다만, HTTP 처리와 파일 서빙이 가능하므로 WEB SERVER의 기능도 가지고 있습니다.
[참고 블로그]
웹 서버와 WAS 서버의 차이와 역할
웹 서버와 WAS 서버의 차이점과 역할, 그리고 이들을 분리하여 사용하는 이유에 대해 설명합니다. 최신 기술과의 결합을 통해 이들의 역할이 어떻게 변화하고 있는지도 다룹니다.
f-lab.kr
'위클리페이퍼' 카테고리의 다른 글
| GitHub Actions Trigger 유형과 CI/CD 활용 시나리오 (0) | 2026.05.15 |
|---|---|
| AWS RDS를 활용하는 이점과 EC2에 직접 DB 설치 비교 (0) | 2026.05.12 |
| Spring MVC에서 클라이언트의 요청 처리 흐름.(@Controller/@RestController) (0) | 2026.02.23 |
| Spring boot에서 사용되는 다양한 Bean 등록 방법들 (0) | 2026.02.06 |
| 프레임워크와 라이브러리의 차이점? (0) | 2026.01.27 |