Lined Notebook

세션스토리지, 로컬스토리지와 세션스토리지의 차이점 ★★★

by yjym33

세션 스토리지(Session Storage)는 클라이언트 측 웹 스토리지 메커니즘 중 하나로, 웹 애플리케이션에서 데이터를 임시로 저장하고 관리하는 데 사용됩니다. 세션 스토리지는 로컬 스토리지와 유사하지만 중요한 차이점이 있습니다.

 

 

세션 스토리지의 특징:

  • 임시 저장소: 세션 스토리지에 저장된 데이터는 현재 세션(session) 동안만 유지됩니다. 즉, 사용자가 브라우저를 닫거나 탭을 닫을 때, 또는 브라우저를 재시작할 때 데이터가 삭제됩니다. 따라서 데이터는 임시적으로 사용되는 용도로 적합합니다.
  • 도메인 별로 격리: 세션 스토리지는 도메인 별로 격리되어 있습니다. 동일한 도메인의 다른 페이지에서는 세션 스토리지에 저장된 데이터에 접근할 수 있지만, 다른 도메인에서는 접근할 수 없습니다.
  • 용량 제한: 세션 스토리지의 용량은 브라우저마다 다를 수 있으며, 일반적으로 5MB에서 10MB 정도입니다.
  • API 사용: 세션 스토리지는 JavaScript를 사용하여 다음과 같이 API를 통해 데이터를 저장하고 검색합니다.

 

세션 스토리지의 활용:

  • 페이지 간 데이터 공유: 세션 스토리지를 사용하면 웹 애플리케이션의 다른 페이지 간에 데이터를 공유할 수 있습니다. 예를 들어, 사용자가 로그인 정보를 한 번 입력하면 다른 페이지에서도 이 정보를 사용할 수 있습니다.
  • 임시 데이터 저장: 사용자가 어떤 작업을 진행하는 동안 필요한 데이터를 임시로 저장할 수 있습니다. 이 데이터는 세션 종료 시 삭제되므로 보안적으로 민감하지 않은 정보에 적합합니다.
  • 회원 가입 프로세스: 웹 애플리케이션에서 회원 가입 프로세스를 진행하는 동안 사용자가 입력한 정보를 세션 스토리지에 저장하여 다음 단계에서 사용할 수 있습니다.
  • 세션 관리: 세션 ID와 같은 세션 관리 정보를 세션 스토리지에 저장하여 사용자의 로그인 상태와 관련된 정보를 유지할 수 있습니다.

 

주의사항:

  • 보안 고려: 세션 스토리지에 저장되는 데이터는 클라이언트 측에서 관리되므로 민감한 정보(비밀번호, 토큰 등)를 저장할 때는 보안적인 고려가 필요합니다.
  • 용량 제한: 세션 스토리지의 용량이 제한되어 있으므로 너무 많은 데이터를 저장하면 용량 초과 오류가 발생할 수 있습니다.
  • 브라우저 호환성: 모든 브라우저에서 세션 스토리지를 지원하지만, 오래된 브라우저에서는 지원되지 않을 수 있으므로 브라우저 호환성을 고려해야 합니다.

 

세션 스토리지와 로컬 스토리지는 비슷한 목적을 가지고 있지만 중요한 차이점이 있습니다. 이 두 스토리지 방식의 가장 큰 차이점은 데이터의 수명과 범위입니다.

 

  • 데이터 수명:
    • 로컬 스토리지(Local Storage): 로컬 스토리지에 저장된 데이터는 사용자가 명시적으로 지우기 전까지 계속해서 유지됩니다. 브라우저를 닫고 다시 열어도 데이터가 유지됩니다. 이것은 "영구적인" 스토리지로 간주됩니다.
    • 세션 스토리지(Session Storage): 세션 스토리지에 저장된 데이터는 브라우저 세션이 유지되는 동안에만 유지됩니다. 세션은 브라우저를 열고 닫을 생성되고 종료됩니다. 따라서 세션 스토리지에 저장된 데이터는 브라우저 세션이 종료되면 자동으로 삭제됩니다. 이것은 "임시" 스토리지로 간주됩니다.
  • 데이터 범위 :
    • 로컬 스토리지: 로컬 스토리지에 저장된 데이터는 동일한 도메인의 모든 페이지에서 공유됩니다. 다른 탭이나 창을 열어도 동일한 로컬 스토리지에 접근할 수 있습니다.
    • 세션 스토리지: 세션 스토리지에 저장된 데이터는 동일한 세션 내에서만 공유됩니다. 다른 탭 또는 창을 열면 새로운 세션이 생성되며, 이전 세션 스토리지에 저장된 데이터에는 접근할 수 없습니다.

 

따라서 데이터를 저장할 데이터의 지속성과 범위를 고려해야 합니다. 로컬 스토리지는 사용자가 로그아웃하지 않는 데이터를 계속 유지하고 공유할 사용될 있으며, 세션 스토리지는 임시 데이터를 저장하거나 페이지 데이터를 공유할 유용합니다.

 

블로그의 정보

생각보다 실천을

yjym33

활동하기