-
[Spring] Web Application (1)Spring 2025. 3. 19. 01:18
✅ 웹 애플리케이션이란?
우리가 사용하는 대부분의 웹 서비스는 웹 브라우저를 통해 접근
이런 서비스의 핵심은 Web Application (웹 애플리케이션), 즉 서버에서 돌아가는 프로그램예시:
- 구글 검색
- 네이버 뉴스
- 스파르타 코딩클럽 강의 플랫폼
✅ 웹 시스템의 핵심 구성 요소
구분 역할 예시 Web Server 정적 파일 처리 (HTML, CSS, JS, 이미지 등) Apache, Nginx WAS (Web Application Server) 비즈니스 로직 처리 (로그인, DB 조회 등) Tomcat, JBoss, Jetty
✅ Web Server란?
- 정적인 파일 제공 (HTML, 이미지, JS, CSS 등)
- 요청받은 파일 그대로 클라이언트에게 전달
- 예시: www.google.com/index.html
✔ 가장 유명한 Web Server: Apache, Nginx
📌 역할
- 파일 읽어서 그대로 내려줌
- 가벼운 작업 처리
- WAS로 넘기기 전에 필터 역할도 수행
✅ WAS (Web Application Server)란?
진짜 서버 개발자가 만드는 곳! 핵심 로직과 DB 연동이 이루어지는 공간
📌 WAS 주요 기능
- 동적 처리 (사용자 맞춤 페이지 생성)
- DB 연결 및 데이터 처리
- 비즈니스 로직 수행 (로그인, 게시판 글 작성 등)
- Servlet 기반으로 동작 (JSP도 포함)
✔ 대표적인 WAS: Tomcat, Wildfly (구 JBoss), Jetty, WebLogic
✅ Web 시스템 기본 구조
사용자 (브라우저)
↓
Web Server (Nginx, Apache)
↓
WAS (Tomcat, Spring Boot)
↓
DB (MySQL, Oracle)📌 데이터 흐름 예시 - 로그인할 때
- 브라우저에서 https://myapp.com/login 요청
- Web Server가 요청을 받아서
- /login은 동적 처리라 WAS로 전달
- WAS가 로그인 로직 수행 → DB에서 아이디, 비밀번호 검증
- 결과를 다시 브라우저로 응답
✅ 정적 vs 동적 처리
구분 예시 처리 주체 정적 (Static) HTML, CSS, JS, 이미지 Web Server 동적 (Dynamic) 게시글 작성, 로그인, 데이터 처리 WAS ✅ Web Server + WAS 분리의 장점
- 성능 최적화 → 정적 파일은 Web Server가 빠르게 처리
- 보안 강화 → WAS 접근 차단하고 Web Server에서 필터링
- 유지보수 편리 → 역할 구분으로 복잡도 낮춤
- 확장성 확보 → Web Server와 WAS 따로 확장 가능
✅ 실무 포인트
✔ 우리가 만드는 Spring Boot 서버도 Tomcat 위에서 돌아가는 하나의 WAS
✔ 실제 운영에서는 Web Server (Nginx) + WAS (Spring Boot)로 구성
✔ AWS, Azure 같은 클라우드 환경에서도 동일 구조🎯 핵심 정리
✔ 웹 시스템은 Web Server + WAS + DB 구조로 이해
✔ 정적 파일은 Web Server, 동적 처리는 WAS가 담당
✔ 이 구조를 알아야 서버 개발, 배포, 트래픽 관리가 가능'Spring' 카테고리의 다른 글
[Spring] RESTful API (0) 2025.03.19 [Spring] HTTP (1) 2025.03.18 [Spring] Web 기초 (1) 2025.03.18 [Spring] 네트워크 기초 (1) 2025.03.18