반응형
웹 개발 또는 서버 인프라를 다루다 보면 반드시 마주하게 되는 개념이 있다.
바로 Web Server(웹 서버) 와 WAS(Web Application Server, 웹 애플리케이션 서버) 이다.
이 둘은 비슷해 보이지만 역할과 기능이 명확히 다르며, 개발자라면 반드시 구분해서 이해해야 한다.
✅ Web Server란?
웹 서버(Web Server) 는 말 그대로 웹 브라우저(클라이언트)의 요청을 받아 정적인(Static) 파일을 응답하는 서버다.
예를 들어 사용자가 웹 주소를 입력하면,
HTML, CSS, JavaScript, 이미지 등의 정적인 리소스를 찾아서 그대로 반환해주는 역할을 한다.
🔹 예시
: 사용자가 http://www.example.com/index.html 요청 → 웹 서버가 index.html 파일 찾아서 전달
🔹 대표적인 Web Server
- Apache HTTP Server
- Nginx
- Microsoft IIS
✅ WAS(Web Application Server)란?
WAS(Web Application Server) 는 웹 서버가 하지 못하는,
동적인(Dynamic) 처리를 담당한다.
즉, 사용자의 요청에 따라 비즈니스 로직을 처리하고 DB와 상호작용한 결과를 동적으로 생성하여 응답한다.
🔹 예시
: 사용자가 로그인 요청 → WAS가 사용자 정보 확인 → DB에서 비밀번호 비교 → 결과 반환
🔹 대표적인 WAS
- Apache Tomcat (Java 기반)
- JBoss
- WebLogic
- WebSphere
✅ Web Server와 WAS의 차이점
항목 | Web Server | WAS |
처리 대상 | 정적인 리소스 (HTML, CSS, JS, 이미지 등) | 동적인 리소스 (Java, JSP, Servlet 등) |
역할 | 요청 분배 및 정적 파일 응답 | 비즈니스 로직 실행, DB 연동 처리 |
예시 | Nginx, Apache | Tomcat, JBoss |
속도 | 빠름 (정적 파일 전달) | 상대적으로 느림 (로직 실행) |
부하 분산 | 가능 | 가능하나 Web Server에 비해 상대적 약함 |
✅ Web Server와 WAS는 함께 쓰인다
현업에서는 보통 Web Server + WAS 구조로 조합해서 사용한다.
💡 Nginx가 앞단에서 클라이언트의 요청을 받고,
정적 파일은 Nginx가 처리하고, 동적 요청은 Tomcat과 같은 WAS로 전달하는 구조다.
이렇게 하면 처리 효율도 높아지고, 보안 및 성능 관리도 수월하다.
🔧 실무 예시: Spring Boot + Nginx + Tomcat
- 사용자가 웹 페이지 요청 (예: /login)
- Nginx가 요청을 받고 정적 파일 여부 확인
- 동적 요청이면 Nginx → Tomcat(Spring Boot)에 전달
- Spring에서 로그인 처리 → DB 연동 → 결과 생성
- 결과를 HTML 혹은 JSON으로 응답
✅ 마무리: 한 문장 요약
- Web Server는 정적인 파일 처리,
- WAS는 동적인 로직 처리를 담당하며,
- 실제 서비스에서는 둘을 함께 사용하는 것이 일반적이다.
반응형
'IT개발 > JAVA' 카테고리의 다른 글
[JSP] JSP 핵심 문법 정리 | JSP 입문자를 위한 완벽 가이드 (0) | 2025.04.08 |
---|---|
자바(Java)에서 1:N 관계와 상속 (0) | 2025.04.06 |
[Java] Stack과 Queue: 기본 개념, 주요 차이점 및 활용 사례 (0) | 2025.03.05 |
Java의 Optional: Null 안전한 프로그래밍(Java8) (0) | 2025.02.27 |
Scanner & BufferedReader 차이 (0) | 2025.02.06 |
댓글