WEB Server 란?
웹 브라우저 사용자로부터 HTTP요청을 받아드리고 HTML문서와 같은 웹 페이지에서 자주 찾아볼수있는 콘텐츠에 따라 HTTP에 반응하는 컴퓨터 프로그램이다.
쉽게 말하자면 네트워크망에 종속되지 않으며 웹서비스를 할 수 있도록 하는것이 WEB 서버이다.
WEB Server 기능
- 정적인 컨텐츠를 제공하거나 동적인 컨테츠 제공을 위한 요청을 전달한다.
- WAS를 거치지 않고 바로 자원을 제공하거나 클라이언트의 요청을 WAS에 보내고 WAS가 처리한 결과를 사용자에게 전달한다.
WAS, Web Application Server 란?
웹 애플리케이션 서버는 동적 서버 콘텐츠를 수행하는 것이 일반적이고 웹 서버와 구별되어 주로 데이터베이스 서버와 같이 수행이 된다.
그렇기 때문에 웹서버 + 웹 컨테이너로 웹 상에서 사용하는 컴포넌트를 올려놓고 사용하는 서버이다.
쉽게 말하자면 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 소프트웨어 엔진이다.
WAS, Web Application 기능
- 여러가지의 트랜잭션을 관리한다.
- 업무를 처리하는 회사 및 기관 로직을 수행한다.
- 프로그램 실행 환경과 데이터베이스 접속 기능을 제공하여 요청에 맞는 데이터를 DB에서 가져와서 로직에 맞게 결과를 만들어 제공함으로써 자원이 효울적이다.
Web Container 란?
JSP와 서블릿을 실행시킬 수 있는 소프트웨어를 웹 컨테이너라고 한다.
웹 컨테이너는 웹 서버에서 JSP를 요청하면 톰켓에서는 JSP파일을 서블릿으로 변환하여 컴파일을 수행하고 서블릿 수행결과를 웹 서버에 전달하게 된다.
여기서 JSP컨테이너가 탑재 되어 있는 WAS는 JSP 페이지를 컴파일 하여 동적인 페이지를 생성하게 된다.
WEB Server와 WAS를 분리하는 이유
- SSL에 대한 암복화처리에 물리적으로 분리하여 보안강화
- 여러대의 WAS 연결이 가능함
- 기능을 분리하여 서버의 부하를 방지함