인프런 커뮤니티 질문&답변

기팝님의 프로필 이미지
기팝

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

스프링 인터셉터 - 소개

필터사용

작성

·

319

1

 
(인터셉터 대신)
특별히 필터를 사용해야 하는 경우는 어떤경우가 있을까요?
 

답변 1

1

안녕하세요. 기팝님, 공식 서포터즈 OMG입니다.

가장 큰 차이로는 스프링이 제공하는 기술이냐 아니냐의 차이가 있을 것 같네요.

스프링으로의 개발 환경이 아니라면 필터를 사용해야합니다.

추가적인 내용은 아래 잘 정리된 글을 참고해주세요.

https://mangkyu.tistory.com/173


감사합니다.

 
기팝님의 프로필 이미지
기팝
질문자

스프링 개발 환경이면 웬만하면 필터대신 인터셉터를 사용한다는거가요 ?

강의에서 위와 같은 설명이 있는데요, 특별한 문제가 없다면 인터셉터 사용을 권장하시는데 특별한 문제로 염두하신게 스프링 사용 환경을 말씀하시는 것일수도 있고 아래와 같은 상황을 말씀하신 것일 수도 있을 것 같습니다.

대표적으로 보안 공통 작업이 있다. 필터는 인터셉터보다 앞단에서 동작하므로 전역적으로 해야하는 보안 검사(XSS 방어 등)를 하여 올바른 요청이 아닐 경우 차단을 할 수 있다. 그러면 스프링 컨테이너까지 요청이 전달되지 못하고 차단되므로 안정성을 더욱 높일 수 있다.

또한 필터는 이미지나 데이터의 압축이나 문자열 인코딩과 같이 웹 애플리케이션에 전반적으로 사용되는 기능을 구현하기에 적당하다. Filter는 다음 체인으로 넘기는 ServletRequest/ServletResponse 객체를 조작할 수 있다는 점에서 Interceptor보다 훨씬 강력한 기술이다.

 

인터셉터를 권장하시니 인터셉터를 사용하다 , 인터셉터로 해결이 불가능한 상황이 올 때 필터 사용을 고려해보면 좋을 것 같습니다.

기팝님의 프로필 이미지
기팝
질문자

감사합니다

기팝님의 프로필 이미지
기팝

작성한 질문수

질문하기