Web & WAS


Web과 WAS를 소개하기에 앞서 정적/동적 페이지를 알아야 한다.

정적 페이지
- 어떤 요청이든지 항상 동일한 내용이 반환되는 페이지
- 주로 HTML, CSS, JS, Image 등으로 이루어진 페이지

동적 페이지
- 동일한 리소스의 요청이라도 요청에 따라 각기 다른 내용이 반환되는 페이지 
- 코드가 포함되어 있어 페이지 요청 시점에 만들어지는 페이지


Web Server
클라이언트의 요청을 받아 처리하고, 그 결과를 웹 클라이언트에게 응답하는 역할을 한다.
주로 정적 페이지인 HTML, CSS, JS 등을 웹 클라이언트에 제공할 때 사용하며, 동적인 페이지 처리가 필요하면 요청을 WAS로 넘긴다.
- Apache, IIS, Nginx 등


Web Container
JSP와 서블릿을 실행시킬 수 있는 소프트웨어로 웹 서버에서 JSP를 요청하면 서블릿으로 변환하여 컴파일하고 그 결과를 웹 서버에 전달한다.


WAS (Web Application Server)
웹 서버와 웹 컨테이너의 결합 형태로 정적 페이지 뿐만 아니라 동적인 페이지도 처리한다.
주로 웹 서버에서 넘어온 동적인 페이지를 처리하여 웹 서버로 돌려준다.
- Tomcat, Jetty, JEUS, Web Logic 등


WAS는 대부분 웹 서버의 기능을 가지고 있다. 그럼에도 다른 웹 서버와 연동해서 사용하는 이유는 아래와 같다.
- WAS는 웹 서버 만큼 정적인 문서를 빠르게 처리하지 못한다.
- WAS는 웹 서버 만큼 다양한 옵션 및 환경 설정 기능을 제공하지 못한다.
- WAS는 웹 서버 만큼 안정적이지 못하다.


웹 서버와 WAS를 연동한 구조


WS(웹 서버)와 WAS를 기능적으로 분류해 효과적인 분산을 유도한 형태이다.

정적인 데이터는 앞단의 WS에서 처리하고, 동적인 데이터는 뒷단의 WAS에서 처리한다.
사용자의 요청에 대해 정적인 데이터를 앞단의 WS에 위치시켜 처리함으로써 WAS로 서비스 요청이 넘어가지 않게 한다.

또한, 웹 애플리케이션 서비스를 뒷단의 WAS에 넘겨줌으로써 WAS는 웹 애플이케이션의 수행에 집중할 수 있다.
WS에서 처리할 것과 WAS로 넘길 것을 처리하는 방식은 WS의 환경설정를 통해 처리할 수 있다. 

'Development > WAS' 카테고리의 다른 글

Tomcat Cookie Domain 에러  (0) 2017.12.02
Tomcat 서비스 설치/삭제  (0) 2016.10.29

+ Recent posts