1.filter:
url 패턴에 맞는 모든 요청에 대해 부가작업을 처리할 수 있는 기능을 제공
2. Dispatcher Servlet
HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러
3.Interceptor
디스패처 서블릿(Dispatcher Servlet)이 컨트롤러를 호출하기 전과 후에 요청과 응답을 참조하거나 가공할 수 있는 기능을 제공
(실제로 여기서 바로 Controller을 호출하진 않음)
사실 궁금했따.
아니 filter랑 interceptor 차이가 뭐지? 그냥 중간에서 이러쿵 저러쿵 하는건 비슷한거 아닌가?
맞다.
필터
- 보안 및 인증/인가 관련 작업
- 모든 요청에 대한 로깅/검사
- 이미지/데이터 압축 및 문자열 인코딩
- Spring과 분리되어야 하는 기능
즉 웹 어플리케이션 전반적으로 사용되는 기능을 구현하기에 적합!
InterCeptor
- 세부적인 보안 및 인증/인가 공통 작업
- API 호출에 대한 로깅 /검사
- Controller로 넘겨주는 정보의 가공
즉 클라이언트의 요청과 관련되어 전역적으로 처리해야 하는 작업을 처리함.
공통점 : 비즈니스 로직과 분리되어 특정 요구사항(보안,인증,인코딩) 등을 만족시켜야 할 때 적용
'TIL' 카테고리의 다른 글
자바 Static 왜 쓰는지. (0) | 2022.11.03 |
---|---|
ER 다이어그램 정리 (0) | 2022.11.02 |
Spring Security Form 인증 과정 (0) | 2022.10.26 |
CORS란 (0) | 2022.10.25 |
WebSocket 이전의 Client와 Server 간의 통신방법 (0) | 2022.10.24 |