Spring_SpringBoot/이론
Filter, Interceptor
한번은하자
2024. 6. 11. 22:40
Filter
- Dispatcher Servlet에 요청이 전달되기 전/후에 url패턴에 맞는 모든 요청에 대해 부가작업을 할 수 있는 기능을 제공
하게 된다. 필터는 스프링 범위 밖에서 처리가 되는 것이다. 즉 스프링 컨테이너가 아닌 웹 컨테이너에 의해 관리가
되는 것이다. 아래의 그림을 보면 구조를 알 수 있다.
● 공통된 보안 및 인증/인가 관련 작업
● 모든 요청에 대한 로깅 또는 감사
● 이미지/데이터 압축 및 문자열 인코딩
● Spring과 분리되어야 하는 기능
Interceptor
- Spring이 제공하는 기술로써, 디스패처 서블릿(Dispatcher Servlet)이 컨트롤러를 호출하기 전과 후에 요청과
응답을 참조하거나 가공할 수 있는 기능을 제공한다. Interceptor은 주로 posthandle(), prehandle()로 컨트롤러 전 후로
참조하게 된다.
● 세부적인 보안 및 인증/인가 공통 작업
● API 호출에 대한 로깅 또는 감사
● Controller로 넘겨주는 정보(데이터)의 가공
※ 필터와 인터셉터의 관한 이해를 위한 그림은 다음과 같다.
