클라이언트 라우팅은 복원 가능한 URL 계약이다

pushState, replaceState, popstate, 서버 fallback은 사용자가 주소를 공유하거나 뒤로 가기를 눌러도 같은 화면이 나오게 하는 계약이다.

도구쓸 때남기는 기록주의
pushState새 화면으로 이동뒤로가기로 돌아갈 기록 추가필터 정규화에 남발
replaceState현재 기록을 정리기록 개수는 늘지 않음실제 이동에 쓰면 뒤로가기 혼란
popstate뒤로/앞으로 복원URL을 다시 해석state 객체만 믿고 URL 무시
fallback직접 URL 접근서버가 앱 entry 반환SPA 경로 404

라우터를 설계할 때는 “어떤 상태가 URL에 남아야 다시 열 수 있는가”를 먼저 정한다.