웹 프로젝트를 진행할 때 Tomcat을 연동해 개발했었다.
문득 개념을 짚고 넘어갈 필요성을 느껴 정리해본다.
<이미지 : http://tomcat.apache.org>
서버는 사용자(클라이언트)의 요청을 받아 처리하는 시스템이다.
웹 서버와 WAS의 차이점을 알아보자.
WEB Server
웹 서버는 사용자의 요청에 따라 html이나 데이터들을 http프로토콜을 이용해 전송한다.
웹 서버는 정적 데이터 처리에 효율적이다.
정적 데이터란 정해져 있는, 이미 생성 되어있는 데이터를 의미한다.
미디어 파일이나 단순 html 파일과 같은 리소스를 제공하는 서버는 WAS보다 웹 서버를 이용하는 것이 더 빠르고 효율적이다.
사용자의 요청 중 웹 서버 자체적으로 처리할 수 없는 것들은 WAS에게 넘겨 처리 결과를 받아와서 사용자에게 넘겨주는 역할을 수행하기도 한다.
종류로는 아파치(Apache), IIS 등이 있다.
WAS(Web Application Server)
WAS는 웹 서버와 웹 컨테이너의 결합으로 다양한 기능을 컨테이너에 구현하여 수행할 수 있는 서버를 말한다. 웹 컨테이너는 웹 서버와의 큰 차이 중 하나이다. 웹 컨테이너란 내부의 프로그램을 통해 결과를 만들어내고 다시 클라이언트에 전달해주는 역할을 한다.
(JSP, Servlet 등 구동환경을 제공한다)
WAS는 동적 데이터를 처리하는 경우 사용된다.
동적 데이터란 요청에 따라 생성되는 데이터를 의미한다. 따라서 DB와 연결되어 데이터를 주고 받고 조작이 필요한 경우 WAS를 이용해야 한다.
WAS는 기본적으로 웹 서버 역할을 함께 수행할 수 있다.
jsp, asp, servlet등의 어플리케이션으로 구현되어 사용자에게는 html로 변형되어 보여지게 된다.
(+jsp로 구현시 java 컴파일로 class파일을 생성하여 class파일을 처리하는 기능이 WAS에 포함된다)
종류로는 Tomcat, Jeus 등이 있다.
두 서버의 목적이 다르기 때문에 프로그램을 목적에 맞게 잘 설계한다면 데이터를 보다 효과적으로 처리할 수 있다.
데이터의 처리를 기억하자.
+피드백은 언제나 환영입니다 :)