Web Storage

λΈŒλΌμš°μ € μ €μž₯μ†ŒλŠ” 도메인과 κ΄€λ ¨λœ 데이터λ₯Ό μ„œλ²„κ°€ μ•„λ‹ˆλΌ μ›Ή λΈŒλΌμš°μ €μ— μ €μž₯ν•˜λŠ” κΈ°λŠ₯이닀. μ›λž˜λŠ” μΏ ν‚€λ§Œ μ‘΄μž¬ν•˜μ˜€μœΌλ‚˜ μΏ ν‚€μ˜ 문제점으둜 μΈν•˜μ—¬ web storageκ°€ λ“±μž₯ν•˜κ²Œ λ˜μ—ˆλ‹€.

λ¨Όμ € 쿠킀에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μž.

μΏ ν‚€λŠ” μ„œλ²„κ°€ μƒμ„±ν•˜μ—¬ λΈŒλΌμš°μ €λ‘œ μ „μ†‘ν•˜λŠ” μž‘μ€ νŒŒμΌμ΄λ‹€.

λΈŒλΌμš°μ €λŠ” μˆ˜μ‹ λ°›μ€ μΏ ν‚€λ₯Ό 일정 μ‹œκ°„, μ‚¬μš©μž μ„Έμ…˜ κΈ°κ°„ λ™μ•ˆ μ €μž₯ν•œλ‹€. 이후 μ‚¬μš©μžκ°€ μ„œλ²„μ— μš”μ²­μ„ λ³΄λ‚Όλ•Œ ν•΄λ‹Ή μΏ ν‚€λ₯Ό μ²¨λΆ€ν•œλ‹€. λ”°λΌμ„œ μš°λ¦¬κ°€ λΈŒλΌμš°μ €μ—μ„œ μ—¬λŸ¬ νŽ˜μ΄μ§€λ₯Ό λ°©λ¬Έν• λ•Œλ§ˆλ‹€ λ‘œκ·ΈμΈμ„ ν•˜μ§€ μ•Šμ•„λ„ μƒνƒœκ°€ μœ μ§€λ μˆ˜ μžˆλŠ” 것이닀.

μ„Έμ…˜ : μ‚¬μš©μžκ°€ λΈŒλΌμš°μ €λ₯Ό 톡해 μ„œλ²„μ— μ ‘μ†ν•œ μ‹œμ λΆ€ν„° μ’…λ£Œν•˜μ—¬ 연결을 λλ‚΄λŠ” μ‹œμ κΉŒμ§€ μ‚¬μš©μžλ‘œ λΆ€ν„° μ˜€λŠ” μš”μ²­μ„ μΌμ •ν•˜κ²Œ μœ μ§€ν•˜λŠ” 것. ν΄λΌμ΄μ–ΈνŠΈλ§ˆλ‹€ id값을 λΆ€μ—¬ν•˜μ—¬ 각각의 ν΄λΌμ΄μ–ΈνŠΈλ₯Ό κ΅¬λΆ„ν• μˆ˜ 있게 ν•œλ‹€.

μ‚¬μš©μž μ„Έμ…˜μ΄λž€ μ‚¬μš©μžκ°€ μ„œλ²„μ— 접속해 μžˆλŠ” μƒνƒœλ₯Ό λ§ν•œλ‹€.

쿠킀에 μ €μž₯된 μ •λ³΄λŠ” 항상 μ„œλ²„λ‘œ μ „μ†‘λœλ‹€. λ”°λΌμ„œ μ‚¬μš©μžκ°€ μ–΄λ–€ μš”μ²­μ„ 보내도 항상 μΏ ν‚€κ°€ ν¬ν•¨λ˜μ–΄ μ„œλ²„μ— μ „μ†‘λ˜κΈ° λ•Œλ¬Έμ— λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½μ„ μœ λ°œν•œλ‹€. 그리고 λ°©λ¬Έν–ˆλ˜ μ›Ήμ‚¬μ΄νŠΈμ— λŒ€ν•œ 정보듀이 κΈ°λ‘λ˜μ–΄ 있기 λ•Œλ¬Έμ— λ³΄μ•ˆμΈ‘λ©΄μ˜ μœ„ν—˜μ„± λ˜ν•œ μ‘΄μž¬ν•œλ‹€.

μ΄λŸ¬ν•œ 단점을 λ³΄μ™„ν•˜κΈ° μœ„ν•΄μ„œ Web Storage κΈ°λŠ₯이 HTML5μ—μ„œ μΆ”κ°€λ˜μ—ˆλ‹€.

Web Storage

μ›Ή μŠ€ν† λ¦¬μ§€λŠ” λΈŒλΌμš°μ € 데이터λ₯Ό μ„œλ²„κ°€ μ•„λ‹Œ ν΄λΌμ΄μ–ΈνŠΈμ— key-value의 ν˜•μ‹μœΌλ‘œ 데이터λ₯Ό μ €μž₯ν•˜κ³ , μ„œλ²„μ—μ„œ μ ‘κ·Όν• μˆ˜ μ—†λŠ” 값이기 λ•Œλ¬Έμ— μ„œλ²„λ‘œμ˜ 전솑을 ν•˜μ§€ μ•ŠλŠ”λ‹€. λ˜ν•œ μΏ ν‚€λŠ” μžλ™μ μœΌλ‘œ μ‚¬μš©μžμ˜ λͺ¨λ“  μš”μ²­μ— ν¬ν•¨λ˜μ–΄ μ „μ†‘λ˜μ§€λ§Œ μ›Ή μŠ€ν† λ¦¬μ§€λŠ” ν•„μš”ν•œ κ²½μš°μ— κΊΌλ‚΄μ„œ μ“°κΈ° λ•Œλ¬Έμ— λ³΄μ•ˆμ μΈ μΈ‘λ©΄μ—μ„œ 더 μš°μˆ˜ν•˜λ‹€.

μ›ΉμŠ€ν† λ¦¬μ§€λŠ” λ‘œμ»¬μŠ€ν† λ¦¬μ§€μ™€ μ„Έμ…˜μŠ€ν† λ¦¬μ§€λ‘œ λ‚˜λ‰œλ‹€.

Local Storage

이름 κ·ΈλŒ€λ‘œ μ‚¬μš©μž λ‘œμ»¬μ—μ„œ μ‘΄μž¬ν•˜λŠ” μ €μž₯μ†Œλ‹€. μ‚¬μš©μžμ˜ λ‘œμ»¬μ— μ €μž₯되고 직접 μ €μž₯된 데이터λ₯Ό μ§€μš°μ§€ μ•ŠλŠ” 이상 영ꡬ적으둜 μœ μ§€λœλ‹€. λ”°λΌμ„œ μ‚¬μš©μžκ°€ μ‚¬μ΄νŠΈλ₯Ό λ‚˜κ°€λ„ 데이터가 μœ μ§€λœλ‹€λŠ” νŠΉμ§•μ΄ μžˆλ‹€. 도메인(protocol://host:port)λ§ˆλ‹€ 각각의 λ‘œμ»¬μŠ€ν† λ¦¬μ§€κ°€ μƒμ„±λ˜κΈ° λ•Œλ¬Έμ— 도메인이 κ°™μœΌλ©΄ λ°μ΄ν„°μ˜ κ³΅μœ κ°€ κ°€λŠ₯ν•˜λ‹€.

즉, μ‚¬μš©μž λ‘œμ»¬μ—μ„œ μƒμ„±λ˜λŠ” μ˜κ΅¬μ €μž₯μ†Œμ΄λ‹€.

μ˜κ΅¬μ μ΄λΌλŠ” νŠΉμ„±μ„ κ°€μ§€κ³  있기 λ•Œλ¬Έμ— μ§‘ μ»΄ν“¨ν„°μ—μ„œ 항상 μ ‘μ†ν•˜λŠ” μ‚¬μ΄νŠΈλ“±μ˜ μžλ™λ‘œκ·ΈμΈκ°™μ€ κΈ°λŠ₯에 ν™œμš©λœλ‹€. μ•„λž˜μ™€ 같이 μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ 전역객체인 windowλ₯Ό ν†΅ν•΄μ„œ 접근이 κ°€λŠ₯ν•˜λ‹€.

window.localStorage;

Session Storage

λ‘œμ»¬μŠ€ν† λ¦¬μ§€μ™€ λ§ˆμ°¬κ°€μ§€λ‘œ key-value의 ν˜•μ‹μœΌλ‘œ 데이터λ₯Ό μ €μž₯ν•œλ‹€.

λ‘œμ»¬μŠ€ν† λ¦¬μ§€μ™€ κ°€μž₯ 큰 차이점은 μ‚¬μš©μžκ°€ μ„Έμ…˜μ„ μ’…λ£Œν•˜λŠ” μ‹œμ μ— 데이터가 μ‚­μ œλœλ‹€λŠ” 것이닀. μ‚¬μš©μžκ°€ λΈŒλΌμš°μ €λ₯Ό λ‹€μ‹œ μ ‘μ†ν•˜μ—¬ μ„œλ²„μ™€μ˜ 접속을 μ—°κ²°ν•˜λ©΄ μƒˆλ‘œμš΄ μ„Έμ…˜μ΄ μ‹œμž‘λ˜μ–΄ μƒˆλ‘œμš΄ μ„Έμ…˜μŠ€ν† λ¦¬μ§€κ°€ μƒμ„±λœλ‹€. λ˜ν•œ λ‘œμ»¬μŠ€ν† λ¦¬μ§€μ™€ 달리 도메인이 같아도 μ„Έμ…˜μ΄ λ‹€λ₯΄λ‹€λ©΄ ν•΄λ‹Ή μ €μž₯곡간에 접근이 λΆˆκ°€λŠ₯ν•˜κ³ , 각각의 μ„Έμ…˜μŠ€ν† λ¦¬μ§€λŠ” λ…λ¦½μ μœΌλ‘œ λ™μž‘ν•œλ‹€.

즉, μ‚¬μš©μžκ°€ μ„Έμ…˜μ„ μœ μ§€ν•˜λŠ” κΈ°κ°„λ™μ•ˆ μƒμ„±λ˜λŠ” 독립적인 μ €μž₯곡간이닀.

μΌνšŒμ„±μ΄λΌλŠ” νŠΉμ„±μ„ κ°€μ§€κ³  μžˆμ–΄, λΉ„λ‘œκ·ΈμΈμƒνƒœμ˜ ν™œλ™, μΌνšŒμ„± 둜그인 λ“±μ˜ κΈ°λŠ₯에 ν™œμš©λœλ‹€. λ‘œμ»¬μŠ€ν† λ¦¬μ§€μ™€ λ™μΌν•˜κ²Œ window 전역객체λ₯Ό 톡해 μ ‘κ·Όν•  수 μžˆλ‹€.

window.sessionStorage;

Last updated