HTML5 웹 저장소(Web Storage)
웹 저장소의 개념과 필요성(Concept and Necessity of Web Storage)
웹 저장소는 사용자의 브라우저 내에 데이터를 저장하는 메커니즘을 제공하는 HTML5의 기능입니다. 기존의 쿠키(Cookies)와 비교하여 더 많은 데이터를 저장할 수 있으며, 서버에 데이터를 전송하지 않기 때문에 보안과 성능 면에서 장점을 가집니다. 웹 저장소는 로컬 저장소(Local Storage)와 세션 저장소(Session Storage)로 나뉩니다.
필요성:
- 보안성: 데이터를 서버로 보내지 않기 때문에 보안 위협 감소.
- 용량: 쿠키보다 훨씬 큰 용량의 데이터를 저장 가능.
- 성능: 서버 요청 없이 클라이언트 측에서 데이터를 처리하여 성능 향상.
로컬 저장소(Local Storage)와 세션 저장소(Session Storage)
로컬 저장소(Local Storage): 브라우저가 닫히거나 시스템이 재부팅되어도 데이터가 지속적으로 유지됩니다.
세션 저장소(Session Storage): 브라우저가 닫히면 데이터가 사라집니다. 탭마다 독립된 저장소를 가집니다.
예제: 로컬 저장소와 세션 저장소의 차이
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>로컬 저장소와 세션 저장소</title>
<script>
// 로컬 저장소에 데이터 저장
localStorage.setItem('localKey', '로컬 저장소에 저장된 데이터');
// 세션 저장소에 데이터 저장
sessionStorage.setItem('sessionKey', '세션 저장소에 저장된 데이터');
</script>
</head>
<body>
<h1>로컬 저장소와 세션 저장소의 차이</h1>
</body>
</html>
데이터 저장과 조회(Data Storage and Retrieval)
웹 저장소를 사용하여 데이터를 저장하고 조회하는 방법은 간단합니다. setItem 메서드를 사용하여 데이터를 저장하고, getItem 메서드를 사용하여 데이터를 조회할 수 있습니다.
예제: 로컬 저장소 데이터 저장 및 조회
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>로컬 저장소 데이터 저장 및 조회</title>
<script>
// 데이터 저장
function saveData() {
const key = document.getElementById('key').value;
const value = document.getElementById('value').value;
localStorage.setItem(key, value);
alert('데이터가 저장되었습니다.');
}
// 데이터 조회
function loadData() {
const key = document.getElementById('key').value;
const value = localStorage.getItem(key);
alert(`저장된 데이터: ${value}`);
}
</script>
</head>
<body>
<h1>로컬 저장소 데이터 저장 및 조회</h1>
<input type="text" id="key" placeholder="키 입력">
<input type="text" id="value" placeholder="값 입력">
<button onclick="saveData()">저장</button>
<button onclick="loadData()">조회</button>
</body>
</html>
예제: 세션 저장소 데이터 저장 및 조회
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>세션 저장소 데이터 저장 및 조회</title>
<script>
// 데이터 저장
function saveData() {
const key = document.getElementById('key').value;
const value = document.getElementById('value').value;
sessionStorage.setItem(key, value);
alert('데이터가 저장되었습니다.');
}
// 데이터 조회
function loadData() {
const key = document.getElementById('key').value;
const value = sessionStorage.getItem(key);
alert(`저장된 데이터: ${value}`);
}
</script>
</head>
<body>
<h1>세션 저장소 데이터 저장 및 조회</h1>
<input type="text" id="key" placeholder="키 입력">
<input type="text" id="value" placeholder="값 입력">
<button onclick="saveData()">저장</button>
<button onclick="loadData()">조회</button>
</body>
</html>
웹 저장소의 실습 예제(Web Storage Practice Examples)
예제: 웹 저장소를 활용한 간단한 메모장
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>웹 저장소를 활용한 간단한 메모장</title>
<script>
// 페이지 로드 시 저장된 메모 불러오기
window.onload = function() {
const savedMemo = localStorage.getItem('memo');
if (savedMemo) {
document.getElementById('memo').value = savedMemo;
}
};
// 메모 저장
function saveMemo() {
const memo = document.getElementById('memo').value;
localStorage.setItem('memo', memo);
alert('메모가 저장되었습니다.');
}
// 메모 삭제
function clearMemo() {
localStorage.removeItem('memo');
document.getElementById('memo').value = '';
alert('메모가 삭제되었습니다.');
}
</script>
</head>
<body>
<h1>웹 저장소를 활용한 간단한 메모장</h1>
<textarea id="memo" rows="10" cols="30" placeholder="메모를 입력하세요"></textarea><br>
<button onclick="saveMemo()">저장</button>
<button onclick="clearMemo()">삭제</button>
</body>
</html>
웹 저장소는 로컬 저장소와 세션 저장소를 통해 클라이언트 측에 데이터를 저장하는 강력한 기능을 제공합니다. 데이터를 손쉽게 저장하고 조회할 수 있으며, 성능과 보안 면에서도 우수한 장점을 갖추고 있습니다. 다양한 웹 애플리케이션에서 웹 저장소를 활용하여 사용자 경험을 향상시킬 수 있습니다.
