저번 글을 통해 톰캣의 전체적인 구조와 주요 컴포넌트들에 대해 파악할 수 있었다.이번 글에는 톰캣의 Coyote, Catalina에 대해 알아보려고 한다. Catalina란Catalina는 Tomcat의 핵심 구성 요소로 Java 서블릿 스펙을 구현하는 서블릿 컨테이너 구현체이다. Tomcat이 웹 서버 기능과 서블릿/JSP 컨테이너를 모두 포함하는 전체 패키지라면, Catalina는 Tomcat 내에서 서블릿 컨테이너 전체를 관리하고 구현하는 시스템이라고 생각하면 된다.따라서 Catalina는 서블릿의 초기화, 실행, 소멸 등 전체 생명주기 등 컨테이너 내의 모든 서블릿의 라이프사이클을 관리한다. 이때 Catalina는 Engine 자체를 나타내는 것이 아니고 주요 5개 컴포넌트(Server, Ser..
레벨 4의 첫 미션은 "Tomcat 구현하기" 였다. 그동안 내가 알고 있던 Tomcat은 Web Application Server 중 하나로, 스프링 부트가 톰캣을 내장하고 있다는 정도였다.이번 미션을 통해 Tomcat의 구성 요소와 역할 등등에 대해 더 자세하게 공부하고자 글을 작성하게 되었다. 이번 글에서는 톰캣의 역할과 전체적인 구조에 대해 다루고자 하니 참고바란다.톰캣톰캣이란먼저 톰캣이란 무엇일까? Tomcat은 Apache 재단에서 릴리즈한 Web Application Server이다.이때 Apache는 같은 재단에서 릴리즈한 Web Server인데, 때문에 나는 톰캣이 웹 서버의 역할을 전혀 하지 않는 줄 알고 있었다.(정확히 말하자면 명확히 구분되어 사용하는 줄 알았다) Tomcat의 주요..
톰캣 구현하기 미션 중 특정 API 요청을 처리하고 리다이렉션을 해야하는 요구사항이 있었다.MDN 문서를 통해 학습을 하면서 응답에 302 Found를 반환할 경우 자동으로 리다이렉션 처리가 되는 것을 알았다. 300대의 다른 응답도 모두 리다이렉션이 가능한지 찾아보면서 300 Multiple Choices와 수동 리다이렉션에 대해 알게 되었다.Multiple Choices 이라는 의미가 궁금하기도 하고 수동 리다이렉션에 대해 학습해보고자 작성한다 리다이렉션 종류라다리렉션의 종류는 총 3가지로 나뉜다.영구 리다이렉션일시 리다이렉션특수 리다이렉션영구 리다이렉션영구 리다이렉션은 기존 URL이 사용되지 않아야 할 때 사용된다.즉, API 자체가 제거(또는 다른 API로 컨텐츠가 이동)되거나 도메인이 제거되는 ..