누가 어디서 접속하든 항상 똑같은 페이지
웹서버는 해당 exemple.html 파일이 서버내에 있는지 확인한다.
해당 파일을 찾아서 응답한다.
웹서버는 웹컨테이너한테 요청을 넘겨준다.
웹컨테이너는 요청주소에 맞는 서블릿(자바)을 찾아서 프로그래밍을 진행한다.
결과로 나온 데이터를 템플릿엔진에 반영한 새로운 웹페이지를 돌려준다.
클라이언트 <-> 웹서버 <-> 웹컨테이너 <-> DB
여기서 웹서버와 웹컨테이너를 포함해서 WAS라고 한다.
WAS가 웹서버와 웹컨테이너를 포함하기에
클라이언트의 동적 요청과 정적요청 둘 다 받고 수행할 수 있다.
WAS 하나로 동적, 정적의 책임을 수행하면 위험하다.
why?
웹서버와 웹컨테이너로 만들어진 하나의 WAS로 운영하는 애플리케이션의 경우
트래픽이 크다면 과부하가 걸린다.
정적요청은 가볍기때문에 과부하가 걸리지않고
동적요청에서 웹컨테이너에서 과부하가 걸리기 쉽다.
그렇기 때문에 다음과 같은 방법으로 부하를 해결한다.
WAS에서 웹서버를 분리한다.
웹컨테이너만 가지고 있는 WAS만 증설한다.
웹서버와 다수의 WAS를 연결한다.
웹서버는 그때부터 다음과 같은 역할을 수행하게된다.