Web Server
- 클라이언트의 요청에 대한 처리 담당
- 소프트웨어를 의미할 수도 있고, 하드웨어를 의미할 수도 있음
- 정적문서(html, css) 등일 경우 요청에 응답(ex. Apache)
- 요청이 정적 컨텐츠일 경우 응답, 정적 컨텐츠가 아닐 경우 WAS로 처리를 위임한 후, 해당 데이터를 응답
WAS(Web Application Server)
- 동적 컨텐츠 제공을 위해 만들어진 미들웨어
- DB조회가 필요하거나 처리가 필요한
JSP/Servlet
구동 환경 제공(ex. Tomcat) 웹 컨테이너 혹은 서블릿 컨테이너라고도 불림
- Web Server로부터 요청이 오면 컨테이너가 응답
- 과거에는 WAS가 정적 데이터를 제공하지 않았지만, 근래에는 정적 데이터 또한 제공할 수 있음
차이
- 동적 컨텐츠 처리와 동적 컨텐츠 처리의 역할을 분리하여 서버의 부하 방지
- 물리적인 분리(Web Server와 WAS 서버의 포트가 상이)하여 보안강화
- 여러 대의 WAS를 연결하여 사용 가능, 로드밸런싱의 역할
정리하자면.. 정적 데이터 처리와 동적 데이터 처리를 분리하여 서버의 부하를 줄이는 것!(로드밸런싱)이 아닐까
** 로드 밸런싱(Load Balancing) : 여러 대의 서버를 두고 서비스를 제공하는 분산 처리 시스템에서 필요한 기술, 웹 서버의 부하(Load)를 분산시키는