MDP

Apache Tomcat 본문

공부일지/Spring_공부일지

Apache Tomcat

모다팡 2023. 11. 1. 17:06

Web Server 와 Web Application Server(WAS)

  • 브라우저에서 URL을 입력하여 어떠한 페이지를 요청했을 때 HTTP의 요청을 받아들여 HTML 문서와 같은 정적인    콘텐츠를 사용자에게 전달해주는 역할을 하는 것이 Web Server입니다.
  • 웹 서버의 역할을 크게 2가로 구분해보면
    1. 정적인 콘텐츠 즉, 이미 완성이 되어있는 HTML과 같은 문서를 브라우저로 전달합니다.
    2. 브라우저로부터 '로그인하여 MyPage를 요청'과 같은 동적인 요청이 들어왔을 때 웹 서버 자체적으로 처리하기     어렵기 때문에 해당 요청을 WAS에 전달합니다
  • 종류로는 Apache, Nginx 등이 있습니다.
  • WAS는 웹 서버와 똑같이 HTTP 기반으로 동작이 됩니다.
  • 웹 서어베서 할 수 있는 기능 대부분을 WAS에서도 처리할 수 있습니다.
  • WAS를 사용하면 로그인, 회원가입을 처리하거나 게시물을 조회하거나 정렬하는 등의 다양한 로직들을 수행하는 프로그램을 동작시킬 수 있습니다.
    • 종류로는 Tomcat, JBoss등이 있습니다.

Apache Tomcat

  • Tomcat은 동적인 처리를 할 수 있는 웹 서버를 만들기 위한 웹 컨테이너 입니다.

  • Apache Tomcat이란 Apache와 Tomcat이 합쳐진 형태로 정적인 데이터 처리와 동적인 데이터 처리를 효율적으로     해줄 수 있습니다.
    정적 데이터(Static Data)는 일반적으로 HTML이나 이미지, js, css파일 등을 말한다. 스프링부트 프로젝트를 사용해본 사람들이라면 익히 알고 있을 'static' 폴더에 들어있는 자료들을 처리하는 역할을 하는 서버가 웹 서버라고 생각하면 될 것이다.
    동적 데이터(Dynamic Data)는 정적인 데이터가 아닌, 입력받은 값을 내부적인 로직에 따라 처리해 만들어낸 결과값을 의미한다. 기존의 웹 서버로는 해낼 수 없는 역할이다
  • WAS 
    •  Web Server는 '요청받은 내용을 처리하고 되돌려주는 기능을 하는 서버'
    • 중요한 점은, 웹 서버는  정적인 데이터들을 처리하는 기능

SpringBoot와 Spring

- Spring -

  • Spring 프레임워크는 2004년에 1.0이 등장한 이후 20년가까이 사랑받으며 계속해서 업그레이드 해온 현재는 Spring 6.0이 등장한 아주 오래되고 강력한 프레임워크입니다.
  • Spring 프레임워크는 AOP, IoC/DI 등과 같은 아주 강력한 핵심 기능들을 가지고 있습니다.
  • 하지만 핵심 기능들을 사용하기 위해서는 너무나도 많은 xml 설정들이 필요했습니다.
  • 이러한 불편한 점들을 개선하기 위해 2014년 SpringBoot가 등장했습니다.

- SpringBoot-

  • 기존의 xml 설정 대신 Java의 어노테이션기반의 설정을 적극적으로 사용하고 있기 때문에 무겁고 작성하기 힘들던 xml 대신에 애너테이션을 사용하여 아주 간편하게 설정할 수 있습니다.
 

[Java] 어노테이션이 뭔데??

자바 어노테이션에 대해서 공부하자!!

velog.io

  • 또한 외부 라이브러리나 하위 프레임워크들의 의존성 관리가 매우 쉬워졌습니다.
  • 기존에는 외부 라이브러리와 프레임워크를 사용하기 위해서 각각의 버전들의 호환성을 직접 확인해가면서 의존성들을 설정해야 했지만 SpringBoot에서는  spring-boot-starter-web  처럼 필요한 외부 라이브러리들과 프레임워크들을의존성에 맞게 starter로 묶어서 제공해줍니다.
    • 따라서 이정처럼 각각의 버전 호환성을 직접 확인할 필요가 없어졌습니다.
  • 내장 Apache Tomcat이 내장되어있는것이 가장 큰 장점이다
  • Spring 프레임워크에서는 서버를 실행히키기 위해 Apache Tomcat을 직접 다운로드 받고 설정하고 프로젝트에 삽입 했어야했습니다.
  • 이러한 불편함을 해결하기 위해 SpirngBoot에서는 기본적으로 start-web dependecy를 설정하면 자동으로 내장형 Apache Tomcat을 제공해 줍니다.

Postman

  • Postman이란 API 개발을 빠르고 쉽게 구현할 수 있도록 도와주는 소프트웨어 플랫폼입니다.
  • API가 http 요청을 서버에 보내고 응답을 확인해야한다.
  • 이러한 확인 작업을 간편하게 할 수 있도록 도와주는 플렛폼 중 하나가 Postman입니다.

'공부일지 > Spring_공부일지' 카테고리의 다른 글

SpringBoot를 활용한 MariaDB 연결  (0) 2024.07.17
Jar 파일 - BOOT-INF 영역  (0) 2024.07.11
스프링 프레임워크  (0) 2024.07.10
API  (0) 2023.11.01
웹 서버  (0) 2023.11.01