서버 - #5. Apache Tomcat이란?
[1] Web Server와 Web Application Server (WAS)
1) Web Server (정적인 요청 처리)
: HTTP 기반으로 동작
정의
: 브라우저에서 URL을 입력하여 어떤 페이지를 요청했을 때
HTTP의 요청을 받아들여 HTML와 같은 정적인 콘텐츠를 사용자에게 전달해줌
역할
1) 정적인 콘텐츠 (HTML 문서 등)를 브라우저로 전달
2) 브라우저로부터 동적인 요청이 들어오면 WAS에 요청 전달 → 웹 서버 자체적으로 처리하기 어렵
종류 | Apache, Nginx 등..
2) WAS (동적인 요청 처리)
: HTTP 기반으로 동작
: 웹 서버에서 할 수 있는 기능 대부분을 WAS에서 처리 가능
: 다양한 로직들을 수행하는 프로그램을 동작시킬 수 있음
종류 | Tomcat, JBoss 등...
[2] Apache Tomcat이란?
Tomcat
: 동적인 처리를 할 수 있는 웹 서버를 만들기 위한 웹 컨테이너
Apache Tomcat
: Apache와 Tomcat이 합쳐진 형태
: 정적인 데이터 처리와 동적인 데이터 처리를 효율적으로 해줄 수 있음
[3] SpringBoot와 Spring
Spring 프레임워크는 AOP, IoC / DI 등과 같은
아주 강력한 핵심 기능들을 가짐
핵심 기능들을 사용하기 위해서 기존에는
많은 xml 설정들이 필요했었음
→ 이런 점들을 개선하기 위해 Spring Boot 등장
Spring Boot
1) 기존의 xml 설정 대신 Java의 애너테이션 기반의 설정을 적극적으로 사용
: 개발에 필요한, 일반적으로 많이 사용하는 설정 값을 default로 해서 자동 설정
2) 외부 라이브러리나 하위 프레임워크들의 의존성 관리가 매우 쉬워짐
기존
: 외부 라이브러리와 프레임워크 사용 위해 버전 호환성 확인해야 했음
Spring Boot
: 필요한 외부 라이브러리들과 프레임워크들을 의존성에 맞게 starter로 묶어서 제공
→ 버전 호환성 직접 확인 필요 x
3) 내장 Apache Tomcat
: Spring Boot의 가장 강력한 장점
Spring 프레임워크 (이전) : Apache Tomcat을 직접 다운로드 받고 설정하고 프로젝트에 삽입해야 했음
Spring Boot (이후) : starter-webdependency를 설정하면 자동으로 내장형 Apache Tomcat 제공