Apache Tomcat(아파치 톰캣)이란?
위키백과상의 정의
아파치 톰캣(Apache Tomcat)은 아파치 소프트웨어 재단에서 개발한
서블릿 컨테이너(또는 웹 컨테이너)만 있는 웹 애플리케이션 서버이다.
서블릿 컨테이너? 웹 애플리케이션 서버?
우선 해당 정의를 이해하기 위해서는 컨테이너와 웹서버, 웹 애플리케이션 서버에 대한 이해가 필요할 것 같다
웹 서버 (Web Server)
브라우저가 웹 서버에서 불려진 파일을 필요로 할 때, 브라우저는 HTTP를 통해 파일을 요청한다. 요청이 올바른 웹 서버에 도달하였을 때, HTTP서버는 요청된 문서를 HTTP를 이용해 보내준다.
여기서 웹서버가 제공하는 문서는 정적 콘텐츠(HTML, CSS, JS...)를 말한다. 그리고 정적 콘텐츠가 아닌 동적인 데이터에 대한 요청이 들어온다면 해당요청을 이어서 설명할 컨테이너(Container)에 보낸다.
컨테이너 (Container)
동적인 데이터들을 정적인 페이지로 생성해주는 소프트웨어 모듈, 웹 컨테이너(Web Container) 또는 서블릿 컨테이너(Servlet Container)라고 불린다.
PHP, Perl, Python등의 언어는 Apache를 통해 CGI를 적용시키는 것이 가능한데, JAVA는 불가능하다.
그래서 JAVA는 따로 CGI와 같은 기능을 하는 컨테이너가 필요한데 그것이 서블릿이다.
웹 애플리케이션 서버(WAS)
DB조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 Server
다시말해, 위에 설명한 웹 서버와 컨테이너를 묶어놓은 서버라고 볼 수 있다.
그래서 Apache Tomcat은?
Apache(server)는 클라이언트에서 요청하는 HTTP 요청을 처리하는 웹서버를 말하고 정적타입의 데이터만 처리
Tomcat은 Apache Software재단에서 개발하는 Java기반의 서블릿 컨테이너
위 Apache server와 Tomcat sevlet container가 합쳐진 WAS(Web Application Server)를 Apache Tomcat이라고 부른다.
요약
Apache server - 클라이언트로부터 요청된 정적인 파일 처리를 해주는 웹 서버
Tomcat - DB처리와 같은 동적인 기능들을 가공하여 정적인 파일로 만들어 클라이언트에게 제공해주는 컨테이너
'Web > Network' 카테고리의 다른 글
[Network] TCP 3-way handshake / 4-way handshake (0) | 2022.11.14 |
---|
댓글