회원가입 또는 결제 정보를 입력하는 중에 새로고침을 눌러 작성한 정보가 모두 없어지거나 쇼핑몰을 이용하면서 제품 상세 정보로 들어갔다가 뒤로가기를 눌렀을 때 스크롤이 처음으로 돌아가서 불편했던 경험이 있을 것이다. 새로고침이나 뒤로가기를 하게되면 웹 페이지를 다시 불러와 랜더링을 하는데 이전의 입력 정보 또는 스크롤 정보는 유지되지 않기 때문에 발생하는 문제다. 그렇다면 유지하고 싶은 정보를 따로 저장한다면 해결될 일 아닌가? 그런데 어디에 저장할 것인가? 그것이 문제다. Web Storage API모든 이용자들의 일시적인 정보를 서버에 저장하는 것은 특별한 경우를 제외하고는 좋은 생각이 아닌 것 같다. 큰 저장 용량이 필요한 것도 아니고 오래 보관해야하는 데이터도 아니다. 이런 필요성에서 클라이언트에도 데이터를 저장할 수 있는 공간(브라우저에 저장한다.)이 생긴게 아닐까 싶다. 과거에는
기본적으로 데이터는 새로고침 후에도 결과 화면 유지하기이번 프로젝트의 요구사항에는 다음과 같은 사항이 있었다.
우선 저장소는 SessionStorage를 사용하기로 결정했다. 마지막 검색 결과 화면의 유지는 세션 종료시까지만 유지하면 되기 때문이다. LocalStorage를 사용하면 직접 저장소에서 삭제하기 전 까지 데이터가 유지될 것인데 그럴 필요는 없기 때문이다.
다음으로 마지막 검색 결과 화면이 유지되도록 하려면 마지막으로 검색한 결과 데이터를 가지고 있어야한다. 따라서 검색할 때 결과 데이터를 계속 저장하도록 하였다.
|