WAS
Web Server
- 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠를 제공하는 서버 및 애플리케이션
- 동적인 컨텐츠를 제공하기 위해 WAS에 요청을 보내고, 해당 결과를 제공하기도 함
- EX) Nginx, Apache Server
WAS
- Web Application Server의 약자로, 동적인 컨텐츠를 제공하기 위해 만들어진 서버
- DB 조회 및 웹 서버에서 불가능한 로직 처리 등을 담당
- Web container 혹은 servlet container라고도 함
- Jakarata EE (Java EE)는 WAS의 표준을 제공함. 이 표준을 따르는 서버를 java application server 라고 함
- EX) Tomcat
Web Server과 WAS의 분리
- WAS는 web server의 기능 역시 수행 가능함. 한 개의 서버로 web container과 web server를 운용 가능
- 그러나 큰 서비스일수록 다음과 같은 이유로 WAS와 web server를 분리함
- 부하 감소: 정적인 데이터를 web server에서 처리하면, WAS는 동적인 컨텐츠가 필요할 때만 접근하면 됨
- Reverse proxy 역할: Web server에게 SSL 처리, 로드 밸런싱, failover 등 reverse proxy 역할을 맡길 수 있음
- 여러 application 사용: 하나의 web server에서 다양한 WAS와 연결해서 다양한 컨텐츠를 제공 가능
- 보통 web server에 WAS를 플러그인 형태로 설정함
References
- https://devmoony.tistory.com/113
- https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html
- https://en.wikipedia.org/wiki/Application_server