WAS(Web Application Server, 웹 애플리케이션 서버)는 웹 애플리케이션을 실행하고 클라이언트(웹 브라우저) 요청을 처리하는 서버로,
동적인 웹 페이지를 제공하는 서버이다.
WAS는 단순히 정적인 HTML 파일을 제공하는 웹 서버(Apache, Nginx) 와 달리, Java 웹 애플리케이션을 실행하고 클라이언트의 요청을 처리하는 역할을 수행.
클라이언트 요청 처리
HTTP 요청을 받아서 적절한 Java 애플리케이션(Servlet, JSP) 코드 실행
비즈니스 로직 수행
DB에서 데이터 조회, 가공, 저장 등의 로직 처리
세션 관리
로그인 유지, 사용자 상태 관리,
트랜잭션 관리
DB 작업이 정상적으로 처리되도록 보장 (Commit, Rollback 지원)
정적 및 동적 컨텐츠 제공
정적(HTML, CSS, JS) + 동적(Servlet, JSP) 웹 페이지 제공
| 비교 항목 | 웹 서버 (Web Server) | 웹 애플리케이션 서버 (WAS) |
|---|---|---|
| 기능 | 정적 콘텐츠 제공 (HTML, CSS, JS) | 동적 콘텐츠 처리 (JSP, Servlet, Spring MVC) |
| 예시 | Apache HTTP Server, Nginx | Tomcat, JBoss, WebLogic, Jetty |
| 요청 처리 | 직접 파일 응답 | Java 애플리케이션 실행 후 응답 |
| 속도 | 빠름 (정적 파일 제공) | 비교적 느림 (비즈니스 로직 처리) |
일반적으로 웹 서버와 WAS를 함께 사용
요약
WAS는 Java 웹 애플리케이션을 실행하고 HTTP 요청을 처리하는 서버이다.
SpringBoot는 was가 기본 내장되어 있다.