
๐ฆ sessionStorage
sessionStorage๋ ์น ๋ธ๋ผ์ฐ์ ์์ ์ ๊ณตํ๋ Web Storage API ์ค ํ๋๋ก,
๋ธ๋ผ์ฐ์ ์ธ์ ์๊ฐ ๋์์๋ง ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋๋ก ํด์ฃผ๋ ํด๋ผ์ด์ธํธ ์ธก ์ ์ฅ์์ด๋ค.
๐งฉ ๊ฐ๋ ์ ๋ฆฌ
โ๏ธ ์ ์
sessionStorage๋ ํ์ด์ง๋ฅผ ์๋ก๊ณ ์นจํด๋ ์ ์ง๋์ง๋ง,
ํญ์ ๋ซ๊ฑฐ๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํ๋ฉด ์๋์ผ๋ก ์ญ์ ๋๋ ์์ ์ ์ฅ์์ด๋ค.
๐๐ปโ๏ธ ๋์ ์๋ฆฌ
1๏ธโฃ ์ ์ฅ ๊ตฌ์กฐ
sessionStorage๋ ๋๋ฉ์ธ ๋จ์ + ํญ ๋จ์๋ก ๋ถ๋ฆฌ๋๋ค.
์ฆ, ๊ฐ์ ๋๋ฉ์ธ์ด๋ผ๋ ์ ํญ์ด๋ ์ ์ฐฝ์์๋ ์์ ํ ๋ณ๊ฐ์ sessionStorage ๊ณต๊ฐ์ด ๋ง๋ค์ด์ง๋ค.
[Chrome ํญ A] -> sessionStorage A
[Chrome ํญ B] -> sessionStorage B
[Firefox ํญ] -> sessionStorage C
2๏ธโฃ ๋ฐ์ดํฐ ์ ์ฅ๊ณผ ์ฝ๊ธฐ
// ์ ์ฅ
sessionStorage.setItem("username", "soyeon");
// ์กฐํ
const user = sessionStorage.getItem("username");
// ์ญ์
sessionStorage.removeItem("username");
// ์ ์ฒด ๋น์ฐ๊ธฐ
sessionStorage.clear();
3๏ธโฃ ์๋ช (lifecycle)
sessionStorage๋ ์ฌ์ฉ์๊ฐ ์นํ์ด์ง๋ฅผ ์ด๊ณ ์๋ ๋ธ๋ผ์ฐ์ ํญ์ด ์ด์์๋ ๋์๋ง ์ ์ง๋๋ค.
๋ํ, ํ์ด์ง๋ฅผ ์๋ก๊ณ ์นจํ๊ฑฐ๋ ๋ผ์ฐํ ์ด๋์ ํ๋๋ผ๋ ๋ฐ์ดํฐ๋ ์ ์ง๋๋ค.
๊ทธ๋ฌ๋ ํด๋น ํญ์ ๋ซ๊ฑฐ๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์์ ํ ์ข ๋ฃํ๋ฉด ์๋์ผ๋ก ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ญ์ ๋๋ค.
4๏ธโฃ ์ฌ์ฉ ๋ชฉ์
sessionStorage๋ ์๋์ ๊ฐ์ ์ฉ๋์ ์ ํฉํ๋ค.
- ๋ฏผ๊ฐํ์ง๋ ์์ง๋ง ์งง์ ์๊ฐ ๋์๋ง ์ ์งํด์ผ ํ ์ํ ์ ๋ณด ์ ์ฅ
- ํผ ์ ๋ ฅ๊ฐ ์์ ์ ์ฅ (ํญ ๋ซ๊ธฐ ์ ๊น์ง ๋ณต์)
- ํน์ ํ์ด์ง ์ด๋ ๊ฐ ์์ ๋ฐ์ดํฐ ์ ๋ฌ
- SPA (Single-Page Application)์์ ๋น๊ณต๊ฐ ์ ๋ณด ๊ด๋ฆฌ (ex. ๋นํ์ ์์ฑ ์ค์ธ ๊ฒ์๊ธ ๋ฐ์ดํฐ)
๐ ๋ณด์์ ์ธก๋ฉด
sessionStorage๋ JavaScript์์๋ง ์ ๊ทผ ๊ฐ๋ฅํ๋ฉฐ, ์๋ฒ์๋ ์๋ ์ ์ก๋์ง ์๋๋ค.
๋ฐ๋ผ์ ์ฟ ํค์ฒ๋ผ CSRF ์ํ์ ์์ง๋ง, XSS ๊ณต๊ฒฉ์๋ localStorage์ ๋์ผํ๊ฒ ์ทจ์ฝํ๋ค.
๐ ์์ฝ ์ ๋ฆฌ
| ํญ๋ชฉ | sessionStorage |
| ์ ์ฅ ์์น | ํด๋ผ์ด์ธํธ ๋ธ๋ผ์ฐ์ (ํญ ๋ณ) |
| ์๋ช | ๋ธ๋ผ์ฐ์ ํญ์ ๋ซ์ ๋๊น์ง |
| ํฌ๊ธฐ ์ ํ | ์ฝ 5MB (๋ธ๋ผ์ฐ์ ๋ง๋ค ์์ด) |
| ์ ๊ทผ | JavaScript๋ก๋ง ์ ๊ทผ ๊ฐ๋ฅ |
| ์๋ฒ ์๋ ์ ์ก | โ ์ ๋จ |
| ๋ณด์ | XSS์ ์ทจ์ฝ, CSRF์ ์์ |
| ์ฌ์ฉ ์ฉ๋ | ์์ ์ ์ฅ๊ฐ, ์ธ์ ์ํ, ํผ ์ ๋ ฅ๊ฐ |
๐ ๊ฒฐ๋ก
- sessionStorage๋ ๋ธ๋ผ์ฐ์ ์ธ์ (ํญ)์ด ์ ์ง๋๋ ๋์๋ง ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ ์์ ์ ์ฅ์์ด๋ค.
- ํ์ด์ง๋ฅผ ์๋ก๊ณ ์นจ ํ๋๋ผ๋ ๋ฐ์ดํฐ๋ ์ ์ง๋์ง๋ง, ํญ์ ๋ซ๊ฑฐ๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํ๋ฉด ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ๋ชจ๋ ์ฌ๋ผ์ง๋ค.
- ํ์ง๋ง sessionStorage๋ JavaScript์์ ์์ ๋กญ๊ฒ ์ ๊ทผ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ณด์์ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ์ ์ฅํด์๋ ์๋๋ค.
- ๊ฒฐ๋ก ์ ์ผ๋ก sessionStorage๋ ์งง๊ณ ๊ฐ๋ฒผ์ด ์์ ์ ์ฅ์ ์ต์ ํ๋ ๋๊ตฌ์ด๋ฉฐ, ๋ณด์์ด ํ์ํ ์ธ์ฆ ์ ๋ณด๋ ์ฅ๊ธฐ ์ํ ๋ณด๊ด ์ฉ๋๋ก๋ ์ ํฉํ์ง ์๋ค.
'๐ป๊ณต๋ถ ๊ธฐ๋ก > ๐ Frontend' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Frontend] localStorage VS sessionStorage VS cookies (0) | 2025.06.28 |
|---|---|
| [Frontend] Cookies (0) | 2025.06.28 |
| [Frontend] localStorage์ Cookies (0) | 2025.06.28 |
| [Frontend] Zustand (0) | 2025.06.21 |
| [Frontend] ๋ฐฐ์ด ๊ตฌ์กฐ ๋ถํด ํ ๋น (Array Destructuring) (0) | 2025.06.16 |