LocalStorage์ sessionStorage (with ์ฟ ํค๐ช)
ํ๋ก ํธ์๋ ์ค์ ๊ฐ๋ - HTTP ๊ฐ๋ ์ ๋ฆฌ 3ํธ์ ๋๋ค.
ํ๋ก ํธ์๋ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ฐ์ด ๋๋ ๊ฐ๋ ์ ๋๋ค.
๊ฐ๋ ์ ๋ฆฌ ๋์๋ ๊ด๋ จ ๋ฉด์ ์ง๋ฌธ์ ์ฒจ๋ถํ์์ผ๋ ๋์์ด ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
๋ด(์๋ฒ)๊ฐ ๋ง๋ ์ฟ ํค~โ
์ฟ ํค๋ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์ ์ ์ฅ๋๋ ์์ ๋ฐ์ดํฐ ์กฐ๊ฐ์ผ๋ก, ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ์๋ต ํค๋์ ํฌํจ์์ผ ์ ์กํฉ๋๋ค.
- HTTP์ ๋ฌด์ํ์ฑ์ ๋ณด์
- ์ ์ฅ์์น : ํด๋ผ์ด์ธํธ
- ์ ์ฅ ์ฉ๋ ์ ํ (4KB)
- HTTP ์์ฒญ์ ์๋์ผ๋ก ์๋ฒ์ ์ ์ก๋จ
- ๋ง๋ฃ ์๊ฐ ์ค์ ๊ฐ๋ฅ
- ๋๋ฉ์ธ ๊ธฐ๋ฐ์ผ๋ก ์ ์ฅ๋๋ฉฐ ๋ธ๋ผ์ฐ์ ๊ฐ ๊ณต์ ๊ฐ๋ฅ
- ๋จ์ : ์์ ์ฉ๋, ์๋ฒ ์ ์ก์ผ๋ก ์ธํ ํธ๋ํฝ ์ฆ๊ฐ, ๋ณด์ ์ทจ์ฝ
์น ์คํ ๋ฆฌ์งโ
HTML5์์๋ ์ฟ ํค์ ๋จ์ ๋ค์ ๋ณด์ํ ์ข ๋ ๊ฐ๋จํ ์น ์ ์ฅ์(Web Storage)๋ฅผ ๋์ ํ์ต๋๋ค.
์น ์ ์ฅ์๋ ๋ธ๋ผ์ฐ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ๊ธฐ์ ๋ก, ์ฟ ํค์ ์ ์ฌํ์ง๋ง ๋ฐ์ดํฐ ์ ์ก๊ณผ ์ฉ๋ ๋ฑ์์ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
์ฟ ํค vs Web Storage
| ํน์ง | cookie | web storage |
|---|---|---|
| ์ ์ฅ์์น | ํด๋ผ์ด์ธํธ | ํด๋ผ์ด์ธํธ |
| ๋ฐ์ดํฐ ์ ์ก | ์์ฒญ๋ง๋ค ๋ชจ๋ ์ฟ ํค ์ ์ก | ์๋ ์ ์ก ์๋จ (๊ฐ๋ฐ์๊ฐ ์ ์ด) |
| ์ฉ๋ ์ ํ | 4KB | 5MB ์ด์ |
| ๋ง๋ฃ ์์ | ์ค์ ๊ฐ๋ฅ | sessionStorage : ํญ ์ข
๋ฃ์ localStorage : ์ง์ ์ญ์ ์ |
| ๋ฐ์ดํฐ ํ์ | ๋ฌธ์์ด | JS๊ฐ์ฒด |
| ์ธ์ ์ ์ | ๋ธ๋ผ์ฐ์ ๋จ์ (๋ค๋ฅธ ํญ, ๋ค๋ฅธ ์ฐฝ๋ ๊ฐ์์ธ์ ) | sessionStoarge : ํญ ๋จ์ |
์ฟ ํค์ ๊ตฌ๋ณ๋๋ Web Storage์ ์ฅ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ฟ ํค์ ๋ฌ๋ฆฌ ์๋ฒ์ ์ ์ก๋์ง ์๋๋ค. โ ํธ๋ํฝ ๋น์ฉ ์ค์ฌ์ค
- ๊ฐ์ฒด์ ๋ณด๋ฅผ ์ ์ฅํ ์ ์๋ค.
- ์ฉ๋์ ์ ํ์ด ํฌ๋ค.
- ์ฟ ํค๋ ๊ฐ์ ๋ธ๋ผ์ฐ์ ๋ผ๋ฉด ๊ฐ์ ๊ณต์ ํ๋๋ฐ,
sessionStorage๋ ๊ฐ์ ๋ธ๋ผ์ฐ์ ์ฌ๋, ๋ค๋ฅธ ํญ์ด๋ผ๋ฉด ๊ฐ์ ๊ณต์ ํ์ง ์๋๋ค.
๋ก์ปฌ ์คํ ๋ฆฌ์งโ
๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ ์ฟ ํค์ ์์ฒญ๋ง๋ค ๋ชจ๋ ์ฟ ํค ์ ์ก์ ๊ฐ์ ํฉ๋๋ค.
๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ ํด๋ผ์ด์ธํธ ๋ด์์ ์ฅ๊ธฐ์ /์๊ตฌ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉํฉ๋๋ค. ์ ์ฅํ ๋ฐ์ดํฐ๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํด๋ ์ ์ง๋๊ธฐ ๋๋ฌธ์ ์๋ฒ ํต์ ์ด ํ์ ์๊ฑฐ๋ ๋์ค์๋ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ ํฉํฉ๋๋ค.
์) ์ฌ์ฉ์ ํ ๋ง, ์ธ์ด ์ค์ , ์ต๊ทผ ๋ณธ ํญ๋ชฉ
- ์ง์์ฑ ์๋ ๋ฐ์ดํฐ ์ ์ฅ
- ๋ก์ปฌ์ ๋๋ฉ์ธ ๋ณ๋ก ์ง์๋๋ ์ ์ฅ์
- ์ง์ ์ญ์ ์ ๊น์ง ์ ์ง๋จ (๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋๋ ์ ์ง)
- ์ ์ฅ ์ฉ๋์ด ํฌ๊ณ , ์๋ฒ ์ ์ก ์์
์ธ์ ์คํ ๋ฆฌ์งโ
์ธ์ ์คํ ๋ฆฌ์ง๋ ์ฟ ํค์ ๋๋ฉ์ธ์ด ๊ฐ์ผ๋ฉด ํญ์ ์ฟ ํค๋ฅผ ๋ณด๋ธ๋ค์ ๊ฐ์ ํฉ๋๋ค.
์ธ์ ์คํ ๋ฆฌ์ง๋ ์ธ์ (ํญ)์ด ์ข ๋ฃ๋ ๋๊น์ง ์ง์๋๋ ์คํ ๋ฆฌ์ง์ ๋๋ค. ๋ฐ๋ผ์ ์ ๊น ๋์ ์ ์งํด์ผ ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ ํฉํฉ๋๋ค.
์) ์ฑํ ์ ๋ ฅ ๋ด์ฉ, ํผ ์๋ ์ ์ฅ
- ๋ธ๋ผ์ฐ์ ํญ ๋จ์๋ก ๊ฒฉ๋ฆฌ๋จ
- ์ธ์ (ํญ) ์ข ๋ฃ์ ๋ชจ๋ ์ญ์
- ๊ฐ์ ๋ธ๋ผ์ฐ์ ๊ฐ ๊ณต์ X, ๊ฐ์ ํญ ๊ฐ ๊ณต์ X
example.com์์ ์์ฑ๋ ์ฟ ํค๋, example.com ๋๋ฉ์ธ์ผ๋ก ์์ฒญ์ ๋ณด๋ผ๋๋ง๋ค ํจ๊ป ์ ์ก๋ฉ๋๋ค.
์ด๋ ๋์ผํ ๋๋ฉ์ธ์ ํฌํจ๋ ๋ค๋ฅธ ์๋ธ ํ์ด์ง ๋ํ ์ฟ ํค์ ์ ๊ทผํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ณด์์์ด๋ ํธ๋ํฝ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ฟ ํค์ ์น ์คํ ๋ฆฌ์ง ์ฌ์ฉ์ฒ ํ๋์๋ณด๊ธฐโ
| ๋ชฉ์ | ์ถ์ฒ ์ ์ฅ ๋ฐฉ์ | ํน์ง |
|---|---|---|
| ์๋ ๋ก๊ทธ์ธ ์ฌ๋ถ, ๊ด๊ณ ~์ผ๋์ ๋ณด์ง ์๊ธฐ | ์ฟ ํค | ๊ธฐ๊ฐ ์ค์ ,์๋ฒ์์ ์ํธ์์ฉ |
| ์ฌ์ฉ์ ํ ๋ง ์ค์ , ์ธ์ด ์ค์ | ๋ก์ปฌ ์คํ ๋ฆฌ์ง localStorage | ํด๋ผ์ด์ธํธ ๋ด ์ฅ๊ธฐ์ ์ฅ |
| ์ฑํ , ์์ ํผ ์ ์ฅ, ํญ๋ณ ๋ฐ์ดํฐ, ์ค์๊ฐ ์ ๋ฐ์ดํธ ์ ๋ณด | ์ธ์ ์คํ ๋ฆฌ์ง sessionStorage | ํญ ๋จ์์ ์์ ์ ์ฅ |
localStorage, sessionStorage์ ๋ฑ์ฅ์๋, ์ฟ ํค๋ ์ฟ ํค๋ง์ ์ฐ์์๊ฐ ์กด์ฌํฉ๋๋ค.
- ์ฟ ํค๋ ์๋ฒ์์ ์ํ ์ ์ง๋ฅผ ์ํด ์ฌ์ฉ, ์๋ ์ ์ก์ด ํ์ํ ๊ฒฝ์ฐ ์ ๋ฆฌ
- localStorage๋ ํด๋ผ์ด์ธํธ ๋ด ์ฅ๊ธฐ ์ ์ฅ, ์๋ฒ ํต์ ํ์ ์๋ ๊ฐ์ ์ ํฉ
- sessionStorage๋ ํญ ๋จ์์ ์์ ์ ์ฅ์, ์ธ์ ์ค ์ ์ง๋๋ ๊ฐ ์ ์ฅ์ ์ ๋ฆฌ
๊ด๋ จ ๋ฉด์ ์ง๋ฌธ
@ ์ฟ ํค, sessionStorage, localStorage์ ์ฐจ์ด์ ์ ๋ฌด์์ธ๊ฐ์?