세션스토리지, 로컬스토리지와 세션스토리지의 차이점 ★★★
by yjym33세션 스토리지(Session Storage)는 클라이언트 측 웹 스토리지 메커니즘 중 하나로, 웹 애플리케이션에서 데이터를 임시로 저장하고 관리하는 데 사용됩니다. 세션 스토리지는 로컬 스토리지와 유사하지만 중요한 차이점이 있습니다.
세션 스토리지의 특징:
- 임시 저장소: 세션 스토리지에 저장된 데이터는 현재 세션(session) 동안만 유지됩니다. 즉, 사용자가 브라우저를 닫거나 탭을 닫을 때, 또는 브라우저를 재시작할 때 데이터가 삭제됩니다. 따라서 데이터는 임시적으로 사용되는 용도로 적합합니다.
- 도메인 별로 격리: 세션 스토리지는 도메인 별로 격리되어 있습니다. 동일한 도메인의 다른 페이지에서는 세션 스토리지에 저장된 데이터에 접근할 수 있지만, 다른 도메인에서는 접근할 수 없습니다.
- 용량 제한: 세션 스토리지의 용량은 브라우저마다 다를 수 있으며, 일반적으로 5MB에서 10MB 정도입니다.
- API 사용: 세션 스토리지는 JavaScript를 사용하여 다음과 같이 API를 통해 데이터를 저장하고 검색합니다.
세션 스토리지의 활용:
- 페이지 간 데이터 공유: 세션 스토리지를 사용하면 웹 애플리케이션의 다른 페이지 간에 데이터를 공유할 수 있습니다. 예를 들어, 사용자가 로그인 정보를 한 번 입력하면 다른 페이지에서도 이 정보를 사용할 수 있습니다.
- 임시 데이터 저장: 사용자가 어떤 작업을 진행하는 동안 필요한 데이터를 임시로 저장할 수 있습니다. 이 데이터는 세션 종료 시 삭제되므로 보안적으로 민감하지 않은 정보에 적합합니다.
- 회원 가입 프로세스: 웹 애플리케이션에서 회원 가입 프로세스를 진행하는 동안 사용자가 입력한 정보를 세션 스토리지에 저장하여 다음 단계에서 사용할 수 있습니다.
- 세션 관리: 세션 ID와 같은 세션 관리 정보를 세션 스토리지에 저장하여 사용자의 로그인 상태와 관련된 정보를 유지할 수 있습니다.
주의사항:
- 보안 고려: 세션 스토리지에 저장되는 데이터는 클라이언트 측에서 관리되므로 민감한 정보(비밀번호, 토큰 등)를 저장할 때는 보안적인 고려가 필요합니다.
- 용량 제한: 세션 스토리지의 용량이 제한되어 있으므로 너무 많은 데이터를 저장하면 용량 초과 오류가 발생할 수 있습니다.
- 브라우저 호환성: 모든 브라우저에서 세션 스토리지를 지원하지만, 오래된 브라우저에서는 지원되지 않을 수 있으므로 브라우저 호환성을 고려해야 합니다.
세션 스토리지와 로컬 스토리지는 비슷한 목적을 가지고 있지만 중요한 차이점이 있습니다. 이 두 스토리지 방식의 가장 큰 차이점은 데이터의 수명과 범위입니다.
- 데이터 수명:
- 로컬 스토리지(Local Storage): 로컬 스토리지에 저장된 데이터는 사용자가 명시적으로 지우기 전까지 계속해서 유지됩니다. 브라우저를 닫고 다시 열어도 데이터가 유지됩니다. 이것은 "영구적인" 스토리지로 간주됩니다.
- 세션 스토리지(Session Storage): 세션 스토리지에 저장된 데이터는 브라우저 세션이 유지되는 동안에만 유지됩니다. 세션은 브라우저를 열고 닫을 때 생성되고 종료됩니다. 따라서 세션 스토리지에 저장된 데이터는 브라우저 세션이 종료되면 자동으로 삭제됩니다. 이것은 "임시" 스토리지로 간주됩니다.
- 데이터 범위 :
- 로컬 스토리지: 로컬 스토리지에 저장된 데이터는 동일한 도메인의 모든 페이지에서 공유됩니다. 다른 탭이나 창을 열어도 동일한 로컬 스토리지에 접근할 수 있습니다.
- 세션 스토리지: 세션 스토리지에 저장된 데이터는 동일한 세션 내에서만 공유됩니다. 다른 탭 또는 창을 열면 새로운 세션이 생성되며, 이전 세션 스토리지에 저장된 데이터에는 접근할 수 없습니다.
따라서 데이터를 저장할 때 데이터의 지속성과 범위를 고려해야 합니다. 로컬 스토리지는 사용자가 로그아웃하지 않는 한 데이터를 계속 유지하고 공유할 때 사용될 수 있으며, 세션 스토리지는 임시 데이터를 저장하거나 페이지 간 데이터를 공유할 때 유용합니다.
'Development > CS' 카테고리의 다른 글
로컬스토리지, 세션스토리지, 쿠키의 공통점과 차이점 ★★★ (0) | 2023.10.05 |
---|---|
쿠키(Cookie) ★★★ (0) | 2023.10.05 |
로컬스토리지의 활용사례 : 캐싱 ★★★ (0) | 2023.10.05 |
로컬스토리지 ★★★ (0) | 2023.10.05 |
HTTP/2와 HTTP/3의 차이 ★★★ (1) | 2023.10.04 |
블로그의 정보
생각보다 실천을
yjym33