스프링 부트는 웹 프로그램을 쉽고 빠르게 만들 수 있도록 도와주는 자바의 웹 프레임워크이다.
스프링 부트는 스프링 프레임워크에 톰캣이라는 서버를 내장하고 여러 편의 기능들을 추가하여 개발자들 사이에서 인기가 좋다.
톰캣은 클라이언트의 요청을 해석하여 그에 맞는 자바 프로그램을 실행한 수 그 결과를 응답해 주는 웹 어플리케이션 서버이다.
예를 들어 쿠키나 세션 처리, 로그인/로그아웃 처리, 권한 처리, 데이터베이스 처리 등
웹 프로그램을 완성하기 위해 만들어야 할 기능이 정말 산더미처럼 많다.
그러나 웹 프레임워크를 사용하면 이런 기능들을 익혀서 사용하면 된다.
보안 공격을 기본으로 아주 잘 막아준다
SQL 인젝션 , XSS , CSRF , 클릭재킹 과 같은 보안 공격을 막아준다.
- SQL 인젝션은 악의적인 SQL을 주입하여 공격하는 방법이다.
- XSS는 자바스크립트를 삽입해 공격하는 방법이다.
- CSRF는 위조된 요청을 보내는 공격 방법이다.
- 클릭재킹은 사용자가 의도하지 않은 클릭을 유도하는 공격 방법이다.
스프링 부트 대신 스프링만 사용하여 웹 어플리케이션을 개발한다면 실행할 수 있는 톰캣과 같은 WAS가 필요하다.
WAS의 종류는 매우 다양하며 설정 방식도 제각각이어서 WAS만으로도 공부해야 할 내용이 상당하다 하지만 스프링 부트에는
톰캣 버서가 내장되어 있고 설정도 자동 적영되기 때문에 WAS에 대해 신경 쓸 필요가 없다.
심지어 배포되는 jar파일에도 톰캣 서버가 내장되어 실행되므로 서로 다른 was들로 인해 발생되는 문제들도 사라진다.
- 스프링 부트로 작성하더라도 톰캣 대신 다른 WAS를 사용할 수 있다.
- jar 파일은 자바 클래스들을 담고 있는 압축 파일이다.
WAS는 웹 애플리케이션과 서버 환경을 연결하는 중간 역할을 하는 소프트웨어 플랫폼이다.
예를 들어 사용자가 웹 브라우저로 서버에 요청을 보내면 WAS는 사용자의 요청을 해석하여 그에 맞는 서버 프로그램을 구동한 후 그 결과를 보여준다.
WAS의 종류로는 아파치 톰캣, 오라클 웹 로직(Weblogic), IBM 웹스피어(WebSphere), 제이보스(JBoss, 와일드플라이WildFly), 제우스(Jeus) 등이 있다.
스프링 부트가 등장하기 전 개발자들은 스프링을 사용하여 웹 애플리케이션을 개발했다.
스프링의 복잡한 설정 때문에 개발자들은 많은 어려움을 겪었다. 심지어 한번 설정한 기능들이 스프링의 버전업으로 변경되거나 없어지는 일도 비일비재했다.
하지만 스프링 부트는 스프링의 복잡한 설정을 자동화·단순화하여 누구나 쉽게 스프링을 사용할 수 있도록 한 프레임워크이다.
댓글