MDP
Apache Tomcat 본문
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 대신에 애너테이션을 사용하여 아주 간편하게 설정할 수 있습니다.
- 자바 어노테이션 종류
- https://velog.io/@jkijki12/annotation
- 또한 외부 라이브러리나 하위 프레임워크들의 의존성 관리가 매우 쉬워졌습니다.
- 기존에는 외부 라이브러리와 프레임워크를 사용하기 위해서 각각의 버전들의 호환성을 직접 확인해가면서 의존성들을 설정해야 했지만 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 |