세션(Session): 서버에 저장되는 사용자별 데이터이다. 각 사용자는 고유한 세션 ID를 가지며,
세션 ID를 통해 서버는 사용자를 식별할 수 있다. 세션은 주로 로그인 정보, 사용자 설정, 애플리케이션 상태 등을 저장하는 데 사용된다.
쿠키(Cookie): 웹 브라우저에 저장되는 작은 데이터 조각이다.
서버는 클라이언트에게 쿠키를 설정할 수 있으며, 이후 클라이언트는 해당 쿠키를 서버로 전송한다.
쿠키는 주로 사용자 식별, 상태 유지, 개인 설정 등에 사용된다.
이벤트 드리븐(Event Driven): 프로그래밍은 프로그램의 흐름을 미리 정해진 순서대로 실행하는 것이 아니라, 발생하는 “이벤트(사건)”에 따라 코드를 실행하는 방식이다.
프로그램이 사용자의 행동이나 시스템에서 발생하는 신호를 기다리다가, 그 이벤트가 발생하면 그에 맞는 작업을 수행하는 방식이다.
스프링 클라우드 (Spring Cloud): Spring Cloud은 클라우드 환경에서 마이크로서비스를 쉽게 개발하고 운영할 수 있도록 도와주는 도구 모음이다.
스프링 부트 기반 애플리케이션을 클라우드에 맞게 확장, 구성, 모니터링할 수 있는 여러 기능을 제공해 분산 시스템의 복잡함을 줄여준다.
마이크로 서비스 (MicroService): 마이크로서비스는 큰 애플리케이션을 여러 개의 작은 독립 서비스로 쪼개는 아키텍처이다.
각 서비스는 한 가지 기능만 담당하며, 다른 서비스와 API 등의 방식으로 통신한다.
예를 들어, 쇼핑몰 애플리케이션에서 주문, 결제, 배송 등의 기능을 각각의 서비스로 분리하여 독립적으로 개발, 배포, 확장이 가능하다.
이 방식은 기능 추가나 수정이 용이하고, 팀 단위로 독립 작업이 가능하지만, 서비스 간 통신 관리 등의 복잡성이 따른다.
Spring Security는 Spring 기반 애플리케이션에 보안 기능을 추가하는 프레임워크이다.
기본적으로 사용자 인증과 권한 관리를 처리해주며, 로그인, 로그아웃, URL 접근 제어 같은 보안 관련 작업을 쉽게 구현할 수 있도록 도와준다.
설정 파일이나 어노테이션을 통해 원하는 보안 정책을 간단하게 적용할 수 있고, 다양한 보안 위협에 대응할 수 있는 기능들을 기본으로 제공한다.
[서블릿은 Java 기반 웹 애플리케이션에서 HTTP 요청과 응답을 처리하는 서버 측 컴포넌트이다.
서블릿 컨테이너(예: Tomcat, Jetty) 위에서 동작하며, 클라이언트의 요청을 받아 처리한 후 응답을 생성한다.
Spring Security는 스프링 기반 애플리케이션에 보안 기능을 추가하는 모듈이다.
Spring Security는 서블릿 필터 체인을 활용해 HTTP 요청이 서블릿에 도달하기 전에 사용자 인증, 권한 검사 등의 보안 처리를 수행한다.
즉, 클라이언트의 요청이 서블릿으로 전달되기 전에 Spring Security의 필터들이 먼저 작동하여, 보안 검증이 완료된 후 정상적인 요청만 서블릿으로 전달되도록 한다.
이처럼 Spring Security는 서블릿 기반 웹 애플리케이션 환경에서 보안 기능을 효과적으로 구현하기 위해 서블릿의 필터 메커니즘을 이용한다.]