컨텍스트 읽기
cookie, header, geo, pathname처럼 Edge에서 가능한 정보만 사용한다.
limited API분기 결정
인증 실패는 redirect, A/B나 locale은 rewrite, 통과는 NextResponse.next를 반환한다.
action후속 route 처리
middleware 이후 app route, page, API route가 실제 렌더/응답을 이어간다.
not final app logic/dashboard
세션 없으면 /login redirect
민감 페이지는 middleware와 서버 컴포넌트/handler에서 다시
권한을 확인한다.
defense in depth
/en/about
locale segment 유지
Accept-Language나 cookie로 기본 locale rewrite를 적용할 수
있다.
i18n
/_next/static
matcher에서 제외
정적 asset까지 middleware를 태우면 성능과 캐시 효율이
나빠진다.
exclude assets
/api/upload
무거운 body 처리 부적합
Edge middleware는 요청 본문 처리와 Node 라이브러리에 제약이
있다.
runtime limit