History API는 URL·기록·화면을 동기화한다
사용자 이동은 주소, history stack, 렌더링 대상이 동시에 변해야 자연스럽다. 하나라도 빠지면 SPA 라우팅이 어색해진다.
| 상황 | 선택 | 화면 결과 | 점검 |
|---|---|---|---|
| 상세 화면 진입 | pushState | 새 기록과 새 화면 | 뒤로가기가 목록으로 가는가 |
| 필터 기본값 정리 | replaceState | 현재 기록만 보정 | 불필요한 기록이 늘지 않는가 |
| 뒤로가기 | popstate | URL 기준으로 재렌더 | 데이터 로드가 다시 맞는가 |
| 직접 접속 | server fallback | 앱 진입 후 route match | 새로고침 404가 없는가 |
URL은 화면 상태의 공개 계약이다. 공유해야 할 상태는 주소에, 일시적 상태는 history state나 메모리에 둔다.