본문 바로가기
  • 🦄 창민이 개발일지
서버

Spring boot 란

by 창민이 개발일지 2023. 5. 11.

스프링 부트(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