Apache Tomcat이란?

Sundae·2023년 10월 29일
0
post-thumbnail

Apache Tomcat


Apache란?


Apache는 웹 서버(Web Server) 프로그램이다. Apache는 우수한 확장성과 다양한 기능을 제공하고 다른 웹 서버에 구축이 쉽다는 이유로 많이 사용되고 있다.

Web Server란?

웹 서버는 클라이언트가 전송한 요청을 받고 HTML 문서나 데이터를 HTTP를 통해 전송하는 프로그램이다.
개발자가 미리 작성한 페이지를 웹 서버에 올려두면 사용자가 URL을 통해 웹 서버에 요청을 보내며, 웹 서버는 해당하는 페이지를 사용자에게 전송한다. 그 후, 웹 브라우저는 페이지를 받아서 랜더링을 통해 화면으로 만든 뒤 사용자에게 시각화하여 보여준다.

Tomcat이란?


Tomcat은 동적(dynamic)인 웹을 만들기 위한 웹 컨테이너이며 Java Servlet과 JSP가 실행할 수 있는 환경을 제공하여 동적인 페이지를 생성한다. 이를 WAS(Web Application Server)라고 하는데, 보통 기업에서는 Web - WAS - DB구조를 흔하게 사용한다.

WAS(Web Application Server)가 필요한이유

Apache는 웹 서버(Web Server) 프로그램이라고 하였다. Web Server 프로그램은 사용자가 요청하면 요청받은 페이지를 보내주는 정적인 방식이다. 이러한 방식은 페이지마다 복잡한 로직을 갖는 자바스크립트로 구성된 페이지를 미리 준비해야한다. 또한, 이런 복잡한 로직을 갖는 페이지를 사용자에게 전송해야 한다. 이러한 문제로, WAS에선 미리 준비되어 있는 페이지를 반환하는 것이 아닌, 사용자의 요청에 따라 로직을 처리하여 만들어진 웹페이지를 전송한다. 이때, 만들어진 웹 페이지는 웹 서버를 통해 사용자에게 전달된다.

Web - WAS - DB 구조


어플리케이션에 Web Server만 존재한다면 많은 문제가 발생한다. 그리하여 WAS를 함께 구성해주는 방식을 사용한다. Web Server는 별다른 로직이 필요없는 정적 페이지(또는 이미지, 파일 등)를 처리하고, 로직이 필요한 경우 WAS에게 요청을 넘겨 요청에 맞는 로직을 처리하여 결과를 반환한다.

사용자와 서버 간에는 많은 데이터를 주고받는다, 이에 DBMS(DataBase Management System)을 개발하고 구조에 추가하여 DB와 WAS를 통해 여러 정보와 주요 데이터를 저장하고 편집하게 함으로써 더욱 강화된 보안과 나은 서비스를 제공할 수 있다.

나가는 글


Apache Tomcat을 애용하고 있는 것에 반해 알고 있는 지식은 미약하기만하다. 한 번 제대로 알아보고 정리할 필요성을 느꼈다. Apache Tomcat을 포함하여 동적 웹을 만들기 위한 도구인 Servlet과 JSP에 대한 것도 마찬가지이다.

다음에는 Servlet, JSP가 어떤 식으로 동작하고 Apache Tomcat과 어떤 관계를 이루고 있는지에 대한 포스팅을 할 예정이다.

📕참고자료


https://namu.wiki/w/%EC%95%84%ED%8C%8C%EC%B9%98%20HTTP%20%EC%84%9C%EB%B2%84
https://codevang.tistory.com/191

profile
성장 기록 / 글에 오류가 있다면 댓글 부탁드립니다.

0개의 댓글