✅ WAS란? (정확한 정의)
WAS (Web Application Server)는
웹 애플리케이션을 실행하고 비즈니스 로직을 처리하는 서버 소프트웨어입니다.
즉, 클라이언트(브라우저 등)의 요청에 따라 프로그램을 실행하고, 데이터베이스와 통신하여 결과를 만들어 응답하는 역할을 합니다.
📌 핵심 요점
- **웹 서버(Web Server)**는 HTML, CSS 같은 정적 파일만 전달합니다.
- WAS는 사용자의 요청을 처리하기 위해 프로그램(JSP, Servlet 등)을 실행합니다.
- 비즈니스 로직 수행, DB 연동, 세션 처리 등 “웹 애플리케이션”을 작동시키는 중추입니다.
🔧 조금 더 기술적으로 말하면
WAS는 다음과 같은 기능을 갖춘 서버 소프트웨어 또는 환경입니다:
기능 설명
| Servlet 컨테이너 | 클라이언트 요청에 대해 Java Servlet 실행 |
| JSP 처리 | JSP 파일을 Java Servlet으로 변환해 실행 |
| 세션/쿠키 관리 | 로그인 상태 등 사용자 상태 유지 |
| DB 연동 | JDBC 등을 통해 데이터베이스 접근 |
| 트랜잭션 관리 | 비즈니스 로직 수행 중 데이터 무결성 보장 |
🧱 구성 예시
예를 들어, Tomcat은 대표적인 WAS입니다. Spring Boot 프로젝트를 실행하면 내장된 Tomcat이 WAS 역할을 하죠.
[클라이언트 요청]
↓
[WAS (Tomcat, 실행 중인 Java App)]
↓
[Controller → Service → DAO → DB]
↓
[응답 데이터 → HTML 생성 → 클라이언트 전달]
📂 WAS는 서버? 소프트웨어?
정확히 말하면:
- WAS는 하드웨어가 아니라 소프트웨어입니다.
- 물리적인 서버나 컴퓨터에 설치되어 실행되는 서버 프로그램입니다.
- 예: Tomcat, WebLogic, WildFly, GlassFish
🔄 비교: Web Server vs WAS
항목 Web Server WAS
| 정의 | 정적 리소스 처리 | 동적 요청 처리 |
| 처리 대상 | HTML, CSS, JS, 이미지 | JSP, Servlet, Spring 등 |
| 예 | Apache, Nginx | Tomcat, JBoss, WebLogic |
| 주 역할 | 파일 전달 | 애플리케이션 실행, DB 연동 등 |
✔ 결론
WAS는 웹 애플리케이션이 실제로 동작하는 공간(서버 환경)입니다.
클라이언트 요청을 받아 프로그램을 실행하고, DB와 통신해, 결과를 HTML로 만들어 응답하는 모든 과정을 담당합니다.
'탐구하기' 카테고리의 다른 글
| POJO란 무엇인가? (3) | 2025.05.20 |
|---|---|
| Spring 프레임워크는 무엇일까? (1) | 2025.05.20 |
| 클라이언트-서버 구조에 흐름과 장단점 (1) | 2025.05.15 |
| HTTP는 무엇일까?? (0) | 2025.05.14 |
| MVC패턴은 무엇일까? (1) | 2025.05.13 |