웹서버와 WAS서버
3티어 아키텍처
웹 애플리케이션을 개발하고 배포하는 데 사용하는 아키텍처
웹 서버, WAS 서버, 데이터베이스 서버 세 가지 레이어로 구성
웹서버
클라이언트에서 HTTP 요청을 받아 정적인 컨텐츠(html, css, js 등)를 반환하는 역할
정적인 파일들은 미리 웹서버에 저장
동적인 데이터가 필요하지 않을 때 사용
예시 : Apache, Nginx 등
WAS서버(Web Application Server)
클라이언트의 요청에 따라 동적인 데이터를 생성하여 반환
웹 서버와 달리 어플리케이션 로직 수행을 위해 필요한 동적인 컨텐츠 생성, 데이터베이스 연결 및 트랜잭션 관리 등 다양한 작업을 처리
예시 : Tomcat, JBoss, WebLogic 등
차이점
- 웹서버는 정적인 파일을 처리하는 데 최적화, WAS는 동적인 데이터 처리를 위해 최적화
- 웹서버는 대개 클라이언트와 직접적으로 통신하고, WAS는 웹서버를 통해 클라이언트와 통신
- 웹서버는 빠른 응답 시간을 보장하기 위해 캐싱이나 로드밸런싱과 같은 기능을 제공, WAS는 애플리케이션 로직 처리에 최적화 ⇒ 성능면에서 웹서버보다 조금 느릴 수 있.
협업 관계
웹서버와 WAS서버는 협업하여 웹 애플리케이션을 제공
요청 : 클라이언트 ⇒ 웹서버 ⇒ WAS
처리 : WAS ⇒ 웹서버 ⇒ 클라이언트
웹 애플리케이션의 유연성과 확장성 향상
애플리케이션 서버 자원의 확장 및 분리 가능성이 높아짐 ⇒ 애플리케이션의 성능과 안정성을 보장
웹 애플리케이션 관리 및 유지보수 효율적
ex) 웹 서버 : 로드밸런서 ⇒ 웹서버의 부하를 분산
WAS서버 : 업데이트 혹은 유지보수
웹 애플리케이션 효과적 관리, 안정성 및 성능 보장
서브목차