Filter란 무엇인가? (with Interceptor, AOP)
- 필터(Filter)란 웹 애플리케이션의 요청과 응답을 가로채서 전처리 또는 후처리를 수행한다. 주로 HTTP요청과 응답을 처리하기 전, 응답을 클라이언트로 보내기 전에 특정한 작업을 수행할 때 사용된다.
- 인터셉터(Interceptor)는 스프링에서 제공하는 기능으로 컨트롤러에 도달하기 전과 후에 특정 로직을 수행할 수 있도록 한다. 필터와 비슷하지만 구체적으로 헨들러(컨트롤러) 메서드의 전처리, 후처리, 완료 후 작업을 수행할 수 있다.
- AOP(Aspect Oriented Programming)는 흩어진 공통 관심사를 모듈화하여 재사용성을 높이는 프로그래밍 기법이다. 메서드의 동작 전후에 특정 로직을 삽입할 수 있다. 주로 비지니스 로직을 처리할 때 사용한다.
Spring Security란 무엇인가?
- 스프링 시큐리티는 스프링 프레임워크의 보안 모듈로 인증, 권한 부여, 인가 등의 기능을 제공한다. 주로 웹 애플리케이션의 보안을 담당하며 인증과 인가를 신속하고 효과적으로 처리할 수 있는 다양한 기능과 유연한 설정을 제공한다.
JWT란 무엇인가?
- JWT(Json Web Token)은 JSON 형태로 데이터를 주고받기 위해 표준규약에 따라 생성된 암화화된 토큰이다. 주로 권한 인증과 정보 교환을 위해 사용된다. JWT는 헤더, 페이로드, 서명의 세 부분으로 구성되며 URL, 헤더 또는 HTTP 요청의 일부로 전송할 수 있다. 간결하고 확장성이 높지만 탈취될 경우 보안에 취약하다.