전통적인 웹 페이지 내비게이션의 한계
전통적인 웹 페이지는 태그를 클릭하거나, location.href를 변경하거나, 폼을 제출할 때마다 브라우저가 새로운 HTTP 요청을 서버로 보내고, 서버는 해당 URL에 맞는 새로운 HTML 파일을 응답합니다.
우리는 9장를 통해 Fetch API로 서버와 통신하고, 로컬 스토리지와 세션 스토리지로 클라이언트 측 데이터를 관리하는 방법을 학습했습니다. 이제 웹 애플리케이션의 중요한 사용자 경험 요소 중 하나인 내비게이션(Navigation)에 대해 다룰 차례입니다.
history.pushState()와 history.replaceStat...를 중심으로 History API와 라우팅의 판단 흐름을 읽습니다.
전통적인 웹 페이지는 태그를 클릭하거나, location.href를 변경하거나, 폼을 제출할 때마다 브라우저가 새로운 HTTP 요청을 서버로 보내고, 서버는 해당 URL에 맞는 새로운 HTML 파일을 응답합니다.
SPA는 이름 그대로 하나의 HTML 페이지 위에서 실행되는 웹 애플리케이션입니다.
History API는 웹 브라우저의 세션 히스토리(방문 기록)를 자바스크립트로 조작할 수 있도록 해주는 웹 API입니다.
History API를 활용한 클라이언트-사이드 라우팅의 일반적인 원리는 다음과 같습니다.