스프링 부트(Spring Boot)
- 웹 프로그램(웹 애플리케이션)을 쉽고 빠르게 만들 수 있도록 도와주는 자바의 웹 프레임워크
- 스프링 부트는 스프링(Spring) 프레임워크에 톰캣(Tomcat)이라는 서버를 내장하고 여러 편의 기능들을 추가.
- 톰캣은 클라이언트의 요청을 해석하여 그에 맞는 자바 프로그램을 실행한 후 그 결과를 응답해 주는 웹 애플리케이션 서버
웹 프레임워크란?
- 웹 프레임워크를 사용하면 쿠키나 세션 처리, 로그인/로그아웃 처리, 권한 처리, 데이터베이스 처리 등 웹 프로그램을 완성하기 위해 만들어야 할 기능들을 만들 필요가 없는데, 왜냐하면 웹 프레임워크에는 그런 기능들이 이미 만들어져 있기 때문
- 자바로 만든 웹 프레임워크 중 하나가 바로 스프링 부트
- 스프링 부트의 몇 가지 규칙만 익히면 기존에 자바로 웹 프로그램을 작성하는 방식보다 빠르게 웹 프로그램을 만들 수 있음
스프링 부트 장점
보안 측면
- 개발자가 웹 프로그램을 만들 때 어렵게 느끼는 기능 중 하나는 바로 보안 기능
- 스프링 부트가 이런 보안 공격을 기본으로 아주 잘 막아 주기
- SQL 인젝션, XSS(cross-site scripting), CSRF(Cross-Site Request Forgery), 클릭재킹(clickjacking)과 같은 보안 공격을 막아 줌
- SQL 인젝션은 악의적인 SQL을 주입하여 공격하는 방법
- XSS는 자바스크립트를 삽입해 공격하는 방법
- CSRF는 위조된 요청을 보내는 공격 방법
- 클릭재킹은 사용자가 의도하지 않은 클릭을 유도하는 공격 방법
- 스프링 부트를 사용하면 이런 보안 공격을 막아 주는 코드를 여러분이 짤 필요가 없음
여러 기능 제고
- 로그인 기능, 페이지 기능 등 많은 기능을 제공
스프링 부트는 WAS가 필요없다
- 스프링만 사용하여 웹 애플리케이션을 개발한다면 실행할 수 있는 톰캣과 같은 WAS(Web Application Server)가 필요.
- WAS의 종류는 매우 다양하며 설정 방식도 제각각이어서 WAS만으로도 공부해야 할 내용도 상당.
- 스프링 부트에는 톰캣 서버가 내장되어 있고 설정도 자동 적용되기 때문에 WAS에 대해서 전혀 신경 쓸 필요가 없음.
- 스프링 부트로 작성하더라도 톰캣 대신 다른 WAS를 사용할 수 있음
- jar 파일은 자바 클래스들을 담고 있는 압축 파일
WAS란?
- WAS는 웹 애플리케이션과 서버 환경을 연결하는 중간 역할을 하는 소프트웨어 플랫폼.
- 예를 들어 사용자가 웹 브라우저로 서버에 요청을 보내면 WAS는 사용자의 요청을 해석하여 그에 맞는 서버 프로그램을 구동한 후 그 결과를 사용자에게 보여줌.
- WAS의 종류로는 아파치 톰캣, 오라클 웹 로직(Weblogic), IBM 웹스피어(WebSphere), 제이보스(JBoss, 와일드플라이WildFly), 제우스(Jeus) 등이 있음.
스프링 부트는 설정이 쉽다
- 스프링 부트가 등장하기 전 개발자들은 스프링을 사용하여 웹 애플리케이션을 개발
- 스프링의 복잡한 설정 때문에 개발자들은 많은 어려움을 겪음
- 한번 설정한 기능들이 스프링의 버전업으로 변경되거나 없어지는 일도 많았음
- 스프링 부트는 스프링의 복잡한 설정을 자동화·단순화하여 누구나 쉽게 스프링을 사용할 수 있도록 한 프레임워크
'서버' 카테고리의 다른 글
스프링 Data JPA (0) | 2023.05.17 |
---|---|
스프링 부트와 JPA 활용 (0) | 2023.05.12 |
Spring 정리 (0) | 2023.05.10 |
개인 서버 채굴 해킹 사례 및 분석 (1) | 2022.07.08 |
Django을 위한 웹 지식 (0) | 2022.06.20 |