WAS와 WS는 뭐가 다르지??
Web Server 란??
- 웹 브라우저(클라이언트)로부터 http 요청을 받아 HTML 문서와 같은 정적 콘텐츠를 제공하는 프로그램
- 동적 콘텐츠 요청 시 WAS로 전달하여 WAS가 처리한 결과를 클라이언트에게 전달
WAS (Web Application Server) 란?
- DB 조회나 다양한 로직 처리를 요구하는 동적 콘텐츠를 제공하기 위해 만들어진 프로그램
💡WAS(Web Application Server)
- 비지니스 로직을 넣을 수 있음 (Web Server가 Application 역할까지 함)
- 대부분의 WAS는 WS를 내장하고 있기 때문에 정적 콘텐츠도 제공 가능
- Tomcat, PHP, ASP, .NET 등
💡WS(Web Server)
- 비지니스 로직을 넣을 수 없음
- Apache, Nginx(http 경우:80, https 경우 443)
그럼 WAS가 다해줄수있는데 WS가 왜 필요하지? (WS 사용 이유)
WAS 와 WS를 같이 사용했을 때의 장점
- 책임 분할을 통한 서버 부하 방지
- 정적 콘텐츠는 WS, 동적 콘텐츠는 WAS가 담당
- 여러 대의 WAS 로드밸런싱
- WAS가 처리해야 하는 요청을 여러 WAS가 나누어 처리할 수 있도록 설정
- 여러 대의 WAS Health check
- 서버에 주기적으로 http 요청을 보내 서버의 상태를 확인 (ex 특정 url 요청에 200응답이 오는지?)
- 보안
- 리버스 프록시를 통해 실제 서버를 외부에 노출시키지 않음
결론
- WAS만으로도 서비스는 가능하지만
- 서비스 확장성, 안정성을 고려한다면 앞 단에 Web server를 두는 것이 유리
LIST