데이터를 위한 Back_End 공부하기 : Tomcat.

post-thumbnail

데이터를 위한 Back_End 공부하기 : Tomcat.

▽ 데이터를 위한 Back_End 공부하기 : Tomcat.

목  차

1. 톰캣의 주요 개념 및 역할.


2. 톰캣의 특징 및 장점.

1. 톰캣의 주요 개념 및 역할.


톰캣이란

Apache Tomcat은 Java 웹 애플리케이션을 구동하기 위한 오픈 소스 소프트웨어이며, 웹 서버(Web Server) 기능과 서블릿 컨테이너(Servlet Container) 기능을 결합한 웹 애플리케이션 서버(WAS)

Java 개발 환경에서 웹 애플리케이션을 실행하는 데 가장 널리 사용되는 사실상의 표준(de facto standard).

톰캣의 정체 : WAS(웹 어플리케이션 서버)

  • 정의 : 톰캣은 클라이언트의 HTTP 요청을 받고 처리하며, 특히 동적인 콘텐츠를 생성하여 응답하는 역할을 수행.

  • 구성 : 톰캣은 HTTP 웹 서버의 기능(요청/응답 처리)과 서블릿 컨테이너의 기능을 모두 갖추고 있어 WAS로 불림.

핵심 역할 : 서블릿 컨테이너 (Servlet Container)

톰캣의 가장 핵심적인 역할.

  • 서블릿과 JSP 실행 환경

    • 톰캣은 Java Servlet과 JSP(Java Server Pages) 코드를 실행할 수 있는 환경을 제공
    • 클라이언트로부터 요청이 들어오면, 이 코드를 실행하여 동적인 콘텐츠(데이터베이스 조회 결과, 로직 처리 결과 등)를 생성.
  • 수명 주기 관리

    • 서블릿의 생성, 초기화, 요청 처리, 소멸에 이르는 서블릿의 수명 주기(Lifecycle)를 관리.
  • 표준 구현체

    • 톰캣은 Java EE(현재 Jakarta EE) 표준 중 Servlet 및 JSP 명세에 대한 공식 레퍼런스 구현체.

웹 애플리케이션 서버 (WAS, Web Application Server)

톰캣은 웹 서버 기능과 서블릿 컨테이너 기능을 모두 수행하므로 WAS로 분류.

  • 동적 콘텐츠 처리:

    • 데이터베이스 조회, 비즈니스 로직 처리 등 동적인 데이터를 처리하고
      HTML 형태로 클라이언트에게 응답을 제공.
  • 독립 실행:

    • 톰캣은 자체적인 HTTP 웹 서버 기능을 내장하고 있어,
      단독으로 실행되어 클라이언트의 HTTP 요청을 받고 처리 가능.

Apache HTTP Server와의 관계

톰캣이 "아파치 톰캣"이라고 불리는 이유는 Apache Software Foundation(아파치 소프트웨어 재단)에서 개발하고 관리하기 때문.

  • Apache HTTP Server (웹 서버, WS):

    • 주로 HTML, 이미지, CSS, JS 파일과 같은 정적 콘텐츠를 효율적이고 빠르게 처리.
  • Apache Tomcat (WAS): 주로 동적 콘텐츠를 처리.

대규모 서비스에서는 성능과 안정성을 위해 Apache HTTP Server(WS)톰캣(WAS)앞단(프론트)에 두고, 정적 파일은 웹 서버가 처리하고 동적 요청만 톰캣으로 넘기는 방식으로 연동하여 사용하기도함.

2. 톰캣의 특징 및 장점.


경량성 및 속도:

  • 상용 WAS 제품들에 비해 가볍고 시작 및 구동 속도가 빨라 중소규모 프로젝트나 개발 테스트 환경에 매우 적합.

오픈 소스:

  • Apache License를 따르는 오픈 소스 소프트웨어로, 누구나 자유롭게 사용가능.

높은 점유율:

  • 전 세계적으로 가장 널리 사용되는 Java 기반 WAS 중 하나이므로,
    관련 자료나 커뮤니티 지원이 풍부.

Spring Boot의 내장 서버:

  • Spring Boot 애플리케이션을 개발할 때 기본적으로 내장되어 함께 실행되는 서버가 바로 톰캣(Embedded Tomcat).
  • 덕분에 개발자가 별도의 설치 과정 없이 쉽게 애플리케이션을 실행하고 배포 가능.

0개의 댓글