History API는 URL과 화면 상태를 함께 바꾼다
SPA 라우팅은 새 문서를 받지 않고 주소와 화면을 맞추는 흐름이다. 링크 클릭, 기록 변경, 라우트 매칭, 뒤로가기가 한 세트다.
| 단계 | 무슨 일이 일어나는가 | 확인할 것 | 깨지는 경우 |
|---|---|---|---|
| click | 내부 링크 이동을 라우터가 처리 | 문서 전체 reload를 막는가 | 기본 이동으로 앱이 리셋 |
| pushState | 주소와 history 항목 추가 | 공유 가능한 URL인가 | 화면만 바뀌고 URL은 그대로 |
| match/render | 경로에 맞는 화면 선택 | 데이터 로드와 상태 초기화 | 주소와 화면 불일치 |
| popstate | 뒤로/앞으로에서 복원 | 같은 match 로직 재사용 | 뒤로가기에서 화면이 안 바뀜 |
클라이언트 라우팅은 URL, 화면, 서버 fallback이 함께 맞아야 완성된다.