세그먼트, 예약 파일, 서버/클라이언트 경계를 함께 정해야 App Router 구조가 흔들리지 않는다
라우팅만 맞아도 상호작용 위치나 데이터 접근 위치가 틀리면 구조가 금방 흐려진다.
| 설계 질문 | 결정 기준 | 잘 맞은 상태 | 틀렸을 때 신호 |
|---|---|---|---|
| URL에 들어갈 폴더인가 | 일반 폴더 또는 route group | 원하는 URL과 폴더가 대응 | 예상과 다른 경로 생성 |
| 화면인가 응답인가 | page.tsx 또는 route.ts | UI와 API 책임 분리 | 같은 경로에서 책임 충돌 |
| 공유 UI가 필요한가 | layout.tsx 위치 | 하위 URL에만 공통 UI 적용 | 원치 않는 페이지까지 영향 |
| 브라우저 상호작용이 필요한가 | use client 선언 | 상태/이벤트가 필요한 곳만 클라이언트 | useState 오류 또는 번들 증가 |
| 데이터는 어디서 읽나 | 서버 컴포넌트 우선 | 비밀값과 DB 접근이 서버에 남음 | API 키 노출 위험 |