SPA는 주소가 바뀌지 않는다는 단점을 가지고 있습니다. history API는 웹 페이지를 새로고침하지 않고도 URL을 수정하는 기능을 제공하여 SPA(Single Page Application)의 이러한 단점을 제거할수 있습니다.
기존 주소를 두고 새로운 주소를 추가합니다. 따라서 pushState() 호출 후에 뒤로 가기 버튼을 누르면 기존 주소로 돌아갈 수 있습니다.
history.pushState(state, title, url)
기존 주소를 새로운 주소로 교체합니다. 기존 주소에 대한 기록을 지우기 떄문에 뒤로 가기 버튼을 눌러도 기존 주소로 접근할 수 없습니다.
history.replaceState(state, title, url)
새로운 주소 기록에 저장할 객체로서 앞으로 가기, 뒤로 가기 버튼을 누르는 것과 같이 상태가 바뀔 때 필요한 데이터
상태에 대한 짧은 제목을 제시한다. 하지만 지금은 대부분의 브라우저가 무시하고 있다. 다만 추후에 기능을 제공할 수도 있으니 빈 문자열로 두는 것이 안전하다.
주소 표시줄에 나타나는 URL, 새로운 URL은 현재 URL과 같은 출처를 가져야 하며, 그렇지 않을 경우 예외가 발생합니다