(Static pages & dynamic pages)
웹페이지는 위의 이미지처럼 웹 서버는 주소(url)를 가지고 통신 규칙(http)에 맞게 요청하면, 알맞은 내용(html)을 응답 받는다.
그러나 이처럼 단순한 클라이언트(웹 브라우저)와 웹 서버로는 정적인 페이지 밖에 처리하지 못한다는 한계를 가진다.
이러한 html의 태생적인 한계를 극복하기 위해 application을 활용한 것이 Web Application이다.
따라서 정적인 html의 한계를 극복하고 동적인 페이지를 제공하고자 하는 목적, 더 나아가 보안 강화와 장애 극복을 가능하게 만드는 것이 WAS이다.
정적 페이지와 동적 페이지는 말 그대로 페이지가 바뀌느냐 바뀌지 않느냐의 차이다.
웹 서버는 클라이언트로부터 HTTP 요청을 받아 HTML 문서나 각종 리소스를 전달하는 컴퓨터이다.
요청에 따라 아래의 두 가지 기능 중 적절하게 선택해 수행
기능 | 내용 |
---|---|
기능 1 | -정적인 컨텐츠를 제공한다. |
-WAS를 거치지 않고 바로 자원을 제공한다. | |
기능 2 | -동적인 컨텐츠 제공을 위한 요청을 전달한다. |
-클라이언트 요청을 WAS에 보내고, WAS가 처리한 결과를 클라이언트에게 전달한다 | |
-클라이언트는 일반적으로 웹 브라우저를 의미한다. |
Web Server에는 Apache Server와 NginX가 있는데 각각의 특성은 아래와 같다.
Apache Server : BSD, Linux 등 Unix 계열뿐 아니라 Windows와 같은 기종에서도 운용 가능
NginX : 가벼움과 높은 성능을 목표로 함, 웹 서버, 리퍼스 프록시 및 메일 프록시 기능을 가짐.
Apache Tomcat이라고 하는 이유
WAS는 웹 어플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 미들웨어 프레임워크이다.
WAS는 Web Server와 Web Container(JSP, Servlet)으로 이루어져 있다.
Web Server와의 차이점은 Web Container를 가진다는 점이며 WAS는 HTML 같은 정적인 페이지엣서 처리할 수 없는 비즈니스 로직이나 DB 조회 같은 동적인 콘텐츠를 제공한다.
대규모 프로젝트에서 WAS와 Web Server 분리한 형태를 볼 수 있는데
분리하면 생기는 장점은 무엇일까?
하나의 서버에서 PHP Application과 Java Application을 함께 상용 가능