Computer Science/NetWork
🏷️ 웹서버와 WAS 차이 완전 정복 – 동작 과정과 효율적인 분리 이유까지
추천캐릭터
2022. 10. 27. 23:24
728x90
✍️ 서론 개요 (도입부)
웹 시스템을 처음 배우는 사람부터 실무자까지 혼동하기 쉬운 개념이 바로 웹 서버(Web Server) 와 **WAS(Web Application Server)**입니다.
두 용어는 유사하게 들리지만, 역할과 목적은 분명히 다릅니다.
이 글에서는:
- 웹 서버의 정의와 역할
- WAS의 구조 및 동작 과정
- 웹 서비스 아키텍처 흐름
- 왜 Web Server와 WAS를 분리해서 써야 하는지
를 실제 흐름도와 함께 명확하게 정리합니다.
📌 핵심 내용 정리
✅ 웹 서버(Web Server)
- HTTP 요청을 받아 HTML, CSS, JS, 이미지 등의 정적 콘텐츠를 즉시 제공
- 동적 요청은 WAS로 전달하고 결과를 중계
- 대표 소프트웨어: Apache, Nginx
✅ WAS (Web Application Server)
- Servlet, JSP 등의 동적 콘텐츠를 처리하는 미들웨어
- DB 연동, 비즈니스 로직 처리 등 핵심 로직 담당
- 대표 소프트웨어: Tomcat, WebLogic, JBoss
✅ 웹 서비스 아키텍처 구조
구조설명
| 클라이언트 → Web Server → DB | 정적 요청에 적합 |
| 클라이언트 → WAS → DB | 단독 구조지만 부하 위험 |
| 클라이언트 → Web Server → WAS → DB | 실무에서 가장 효율적인 분리 방식 |
✅ 클라이언트 요청의 실제 처리 흐름
- 클라이언트가 HTTP 요청을 보냄
- Web Server가 정적 콘텐츠는 즉시 응답,
동적 요청은 WAS로 전달 - WAS는 Servlet 생성 → Thread 실행
- 요청에 따라 doGet() 또는 doPost() 실행
- 결과 페이지를 Web Server → 클라이언트로 반환
✅ 왜 Web Server와 WAS를 분리해야 할까?
- WAS가 정적 요청까지 처리하면 자원 낭비
- 비즈니스 로직이 느려지고 전체 서비스 지연 발생
- 정적 콘텐츠는 Web Server가 처리 → 부하 분산 & 속도 개선
728x90