luminous_dev 2025. 1. 19. 18:51

[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 제공