Web Server & Web Application Server
Web Server |
Web Application Server |
HTTP 프로토콜을 기반으로 하여 Web Client(Browser)의 요청을 처리 담당, 주로 정적 컨텐츠를 처리
사용자가 클라이언트로 요청을 보내오면 그 명령에 대한 처리를 실행하고 다시 사용자에게 답변을 보내주는 역할을 수행
웹 브라우저를 통하여 World Wide Web을 사용하는 클라이언트에게 미리 저장된 하이퍼 텍스트(Hypertext)를 제공하는 서버를 지칭 |
동적인 페이지 (jsp, asp 등)을 표현하기 위한 서버
웹 상에서 사용하는 컴포넌트들을 올려놓고 사용하게 되는 서버. (EJB와 Bean등이 올라가게 됨)
실제로 처리해야 되는 비즈니스 로직이 올라가서 웹 서버나 아니면 자체 웹 서버를 통해서 들어오는 요청을 처리해서 다시 돌려주는 형태로 사용되는 것이 일반적.
개발자가 해야하는 많은 일들을 대신해주기 때문에 개발속도 향상과 안정적인 시스템 구성을 기대할 수 있음
|
동작 원리 :
1. 클라이언트에서 HTTP프로토콜 요청메시지가 오면,
2. 웹 서버가 먼저 정적 HTML메시지를 파싱하여 정적 콘텐츠를 생산하고,
3. 해석하지 못하는 JavaScript 등의 메시지를 만나면,
4. 이를 웹 컨테이너에 전달한다.
5. 웹 컨테이너는 웹 애플리케이션을 실행하여 동적 콘텐츠를 생산하고,
6. 그 결과를 다시 서버에 넘겨,
7. 최종적으로 웹 서버가 생산한 정적 콘텐츠와 웹 컨테이너가 생산한 동적 콘텐츠를
8. 웹 클라이언트에 응답메시지로 전송한다.
WAS와 Web Application Server를 분리시킨 이유:
1. 기능을 분리하여 서버 부하 방지
2. 물리적으로 분리하여 보안 강화
3. 여러 대의 WAS를 연결 가능 : 로드 밸런싱의 역할 및 fail over, fail back 처리에 유리
4. 여러 웹 어플리케이션을 서비스 가능
5. Java 서버, C# 서버, php 서버 등 하나의 웹 서버를 통해서 서비스 가능