HTML5 웹 저장소



HTML5 웹 저장소는 쿠키보다 더 나은 로컬 저장 방법입니다.


HTML5 웹 스토리지란 무엇인가요?

HTML5를 사용하면 사용자의 인터넷 사용 기록을 로컬에 저장할 수 있습니다.

이전에는 로컬 저장소에서 쿠키를 사용했습니다. 하지만 웹 스토리지는 더욱 안전하고 빨라야 합니다. 데이터는 서버에 저장되지 않지만 사용자가 웹사이트 데이터를 요청할 때만 데이터가 사용됩니다. 또한 웹사이트 성능에 영향을 주지 않고 많은 양의 데이터를 저장할 수도 있습니다.

데이터는 키/값 쌍으로 존재하며, 웹페이지의 데이터는 해당 웹페이지에서만 접근하고 사용할 수 있습니다.


브라우저 지원

Internet Explorer

Internet Explorer 8+, Firefox, Opera, Chrome 및 Safari는 웹 저장소를 지원합니다.

참고: Internet Explorer 7 및 이전 IE 버전은 웹 저장소를 지원하지 않습니다.


localStorage 및 sessionStorage

두 가지 새로운 개체가 있습니다. 클라이언트에 데이터 저장용:

  • localStorage - 시간 제한 없는 데이터 저장

  • sessionStorage - 세션용 데이터 저장

웹 스토리지를 사용하기 전에 브라우저가 localStorage 및 sessionStorage를 지원하는지 확인해야 합니다.

if(typeof(Storage)!=="undefine")
{
// 네! localStorage 및 sessionStorage 지원!
// 일부 코드.....
}
else
{
// 죄송합니다. 웹이 없습니다. 스토리지 지원..
}



localStorage 개체

localStorage 개체에 의해 저장되는 데이터에는 시간 제한이 없습니다. 데이터는 다음 날, 다음 주 또는 연도 이후에도 계속 사용할 수 있습니다.

인스턴스

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
</head>
<body>

<div id="result"></div>
<script>
if(typeof(Storage)!=="undefined")
  {
  localStorage.lastname="Smith";
  document.getElementById("result").innerHTML="Last name: " + localStorage.lastname;
  }
else
  {
  document.getElementById("result").innerHTML="Sorry, your browser does not support web storage...";
  }
</script>

</body>
</html>

인스턴스 실행»

온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요

분석 예:

  • key="lastname" 및 value="Smith"를 사용하여 localStorage 키/값 쌍 생성

  • 검색 키 값이 "lastname"인 값은 id="result"인 요소에 데이터를 삽입합니다.

팁: 키/값 쌍 일반적으로 문자열로 저장되므로 필요에 따라 이 형식을 변환할 수 있습니다.

다음 예시는 사용자가 버튼을 클릭한 횟수를 보여줍니다. 코드의 문자열 값을 숫자 유형으로 변환합니다:

Instance

<!DOCTYPE html>
<html>
<head>
<script>
function clickCounter()
{
if(typeof(Storage)!=="undefined")
  {
  if (localStorage.clickcount)
    {
    localStorage.clickcount=Number(localStorage.clickcount)+1;
    }
  else
    {
    localStorage.clickcount=1;
    }
  document.getElementById("result").innerHTML="You have clicked the button " + localStorage.clickcount + " time(s).";
  }
else
  {
  document.getElementById("result").innerHTML="Sorry, your browser does not support web storage...";
  }
}
</script>
</head>
<body>
<p><button onclick="clickCounter()" type="button">Click me!</button></p>
<div id="result"></div>
<p>Click the button to see the counter increase.</p>
<p>Close the browser tab (or window), and try again, and the counter will continue to count (is not reset).</p>
</body>
</html>

인스턴스 실행»

"실행"을 클릭합니다. 인스턴스" " 버튼을 누르면 온라인 예시를 볼 수 있습니다.



sessionStorage 객체

sessionStorage 메서드는 세션에 대한 데이터를 저장합니다. 사용자가 브라우저 창을 닫으면 데이터가 삭제됩니다.

sessionStorage를 생성하고 액세스하는 방법: :

Instance

<!DOCTYPE html>
<html>
<head>
<script>
function clickCounter()
{
if(typeof(Storage)!=="undefined")
  {
  if (sessionStorage.clickcount)
    {
    sessionStorage.clickcount=Number(sessionStorage.clickcount)+1;
    }
  else
    {
    sessionStorage.clickcount=1;
    }
  document.getElementById("result").innerHTML="You have clicked the button " + sessionStorage.clickcount + " time(s) in this session.";
  }
else
  {
  document.getElementById("result").innerHTML="Sorry, your browser does not support web storage...";
  }
}
</script>
</head>
<body>
<p><button onclick="clickCounter()" type="button">Click me!</button></p>
<div id="result"></div>
<p>Click the button to see the counter increase.</p>
<p>Close the browser tab (or window), and try again, and the counter is reset.</p>
</body>
</html>

인스턴스 실행»

온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요