웹 서버(Web Server)
- 웹 서버란 HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에서 어떠한 요청을 하면 그 요청을 받아 정적 컨텐츠를 제공하는 서버
- 정적 컨텐츠는 단순 HTML 문서, CSS, 파일 등 즉시 응답 가능한 컨텐츠
- 이 때 웹 서버가 정적 컨텐츠가 아닌 동적 컨텐츠를 요청받으면 WAS에게 해당 요청을 넘겨주고, WAS에서 처리한 결과를 클라이언트에게 전달하는 역할
WAS(Web Application Server)
- WAS란 DB 조회 혹은 다양한 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Application 서버
- WAS는 JSP, Servlet 구동 환경을 제공해주기 때문에 서블릿 컨테이너 혹은 웹 컨테이너로 불린다.
- WAS는 웹 서버의 기능들을 구조적으로 분리하여 처리하고자 하는 목적으로 제시
- WAS는 프로그램 실행 환경과 DB 접속 기능을 제공하고, 여러 개의 트랜잭션 관리 가능.
웹 서버와 WAS를 분리하는 이유
서버 부하 방지
- WAS와 웹 서버는 분리하여 서버의 부하를 방지해야 한다.
- WAS는 DB 조회나 다양한 로직을 처리하고, 단순한 정적 컨텐츠는 웹 서버에서 처리해야 한다.
보안 강화
- SSL에 대한 암호화, 복호화 처리에 웹 서버를 사용 가능
여러 대의 WAS 연결가능
- 로드 밸런싱을 위해 웹 서버를 사용할 수 잇다.
- 여러 개의 서버를 사용하는 대용량 웹 어플리케이션의 경우 웹 서버와 WAS를 분리하여 무중단 운영을 위한 장애 극복
참고 자료
https://code-lab1.tistory.com/199