middleware는 모든 요청과 응답을 전역적으로 처리하는 훅 프레임워크로, 웹 서버와 view 사이에 위치합니다. 각 middleware는 들어오는 요청을 검사/수정하고 나가는 응답을 검사/수정할 수 있습니다. 인증, 보안 헤더, 세션, 로깅 같은 횡단 관심사에 이상적입니다.
middleware를 통한 요청/응답 흐름
Request → MW1 → MW2 → MW3 → VIEW
Response ← MW1 ← MW2 ← MW3 ← VIEW
middleware는 양파 껍질처럼 view를 감쌉니다:
- 들어올 때(요청): 위에서 아래로
- 나갈 때(응답): 아래에서 위로(역순)
Django의 내장 middleware(settings.py에서)
MIDDLEWARE = [
,
,
,
,
,
,
]
