[Spring] 톰캣과 아파치

고지훈·2022년 1월 26일
0

Spring

목록 보기
18/26
post-thumbnail

아파치(Apache)란?

세계에서 가장 많이 쓰는 웹 서버 중 하나이며, 아파치 소프트웨어 재단에서 관리하는 HTTP 웹 서버이다.
Apache는 Apache재단에서 만든 HTTP서버로 다양한 추가 기능 + 구축이 쉽다는 장점 때문에 많이 사용하고 있다.

톰캣(Tomcat)란?

톰캣은 아파치 소프트웨어 재단의 웹 어플리케이션 서버로서, 자바 서블릿을 실행시키고 JSP코드가 포함되어 있는 웹 페이지를 만들어준다.

자바 서블릿과 JSP규격의 '참조용 구현'으로 평가되고 있는 톰캣은, 개방적 협력 작업의 산물로 바이너리 버전과 소스코드 버전 둘 모두를 아파치 웹 사이트에서 얻을 수 있다.

즉, 톰캣은 웹 서버에서 넘어온 동적인 페이지를 읽어들어 프로그램을 실행하고 그 결과를 다시 html로 재구성하여 아파치에게 돌려준다.

아파치와 톰캣의 차이점

Apache = Web Server

아파치는 SW단체 이름이고, 우리가 흔히 알고있는 아파치 서버는 이곳에서 지원하는 http Web Server를 지칭한다.

Tomcat = WAS

톰캣은 Web Application Server로 불린다. WAS는 웹 서버와 서블릿 컨테이너의 결합으로 다양한 역할을 수행하는 서버이다. 클라이언트의 요청을 받아 처리하고, 이에 대한 응답을 클라이언트에 돌려주는 역할을 수행하는 것이 서블릿 컨테이너다.

**Apache와 Tomcat의 차이 중 핵심은 컨테이너 기능(웹 서버 + 서블릿)이 가능한가/불가능한가이다.

왜 아파치와 톰캣을 연동할까?

웹 서버없이 WAS만 사용한다고 가정해보자. 웹 페이지는 정적 데이터뿐만 아니라 동적 데이터도 함께 존재한다. 톰캣은 WAS서버이지만 WEB서버의 기능을 갖추고 있다.

하지만 톰캣의 웹 서버기능은 아파치 웹 서버보다 느린 처리 속도를 보였고, 웹의 모든 정적/동적 데이터를 WAS가 처리한다면 결과적으로 사용자의 요청에 대한 응답이 느려지게 될 것이다.

즉, 정적 데이터는 웹 서버인 아파치가 처리하고 동적 데이터는 톰캣이 처리함으로써 서버의 전체적인 부하를 분산하고 속도를 빠르게 하기 위해 연동을 한다.

profile
"계획에 따르기보다 변화에 대응하기를"

0개의 댓글