클라이언트 라우팅은 복원 가능한 URL 계약이다
pushState, replaceState, popstate, 서버 fallback은 사용자가 주소를 공유하거나 뒤로 가기를 눌러도 같은 화면이 나오게 하는 계약이다.
| 도구 | 쓸 때 | 남기는 기록 | 주의 |
|---|---|---|---|
| pushState | 새 화면으로 이동 | 뒤로가기로 돌아갈 기록 추가 | 필터 정규화에 남발 |
| replaceState | 현재 기록을 정리 | 기록 개수는 늘지 않음 | 실제 이동에 쓰면 뒤로가기 혼란 |
| popstate | 뒤로/앞으로 복원 | URL을 다시 해석 | state 객체만 믿고 URL 무시 |
| fallback | 직접 URL 접근 | 서버가 앱 entry 반환 | SPA 경로 404 |
라우터를 설계할 때는 “어떤 상태가 URL에 남아야 다시 열 수 있는가”를 먼저 정한다.