๋ฐ์ํ

๐ป localStorage VS sessionStorage VS cookies ์ข ํฉ ๋น๊ต
๐ฆ ์ ์ฅ์ ๊ฐ๋
| ํญ๋ชฉ | localStorage | sessionStorage | cookies |
| ์ ์ | ํด๋ผ์ด์ธํธ์ ์๊ตฌ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ Web Storage |
๋ธ๋ผ์ฐ์ ํญ ์ธ์
๋์๋ง ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ Web Storage |
ํด๋ผ์ด์ธํธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์๋ฒ๋ก ์๋ ์ ์ก๋๋ ์์ ๋ฐ์ดํฐ |
| ์ ์ฅ ์์น | ๋ธ๋ผ์ฐ์ (๋๋ฉ์ธ๋ณ) | ๋ธ๋ผ์ฐ์ ํญ (๋๋ฉ์ธ + ํญ ๋ณ) | ๋ธ๋ผ์ฐ์ (๋๋ฉ์ธ + ๊ฒฝ๋ก ๊ธฐ์ค) |
| ๋ฐ์ดํฐ ํํ | ๋ฌธ์์ด(String)๋ง ์ ์ฅ ๊ฐ๋ฅ | ๋ฌธ์์ด(String)๋ง ์ ์ฅ ๊ฐ๋ฅ | ๋ฌธ์์ด ๊ธฐ๋ฐ์ key=value ์ |
๐งญ ๋์ ๋ฐ ์๋ช
| ํญ๋ชฉ | localStorage | sessoinStorage | cookies |
| ์๋ช | ๋ช
์์ ์ผ๋ก ์ญ์ ํ๊ฑฐ๋ ๋ธ๋ผ์ฐ์ ์ด๊ธฐํ ์ ๊น์ง ์๊ตฌ ์ ์ฅ |
ํญ์ ๋ซ๊ฑฐ๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํ ๋ ์๋ ์ญ์ | ๊ธฐ๋ณธ์ ์ธ์
๋์ ์ ์ง, ๋ง๋ฃ ์๊ฐ ์ค์ ๊ฐ๋ฅ (Max-Age, Expires) |
| ํญ ๊ฐ ๊ณต์ | โ ๊ฐ๋ฅ | โ ๋ถ๊ฐ๋ฅ (ํญ๋ณ๋ก ๋ถ๋ฆฌ๋จ) | โ ๊ฐ๋ฅ (๋๋ฉ์ธ ๊ธฐ๋ฐ) |
| ์๋ ์ ์ก ์ฌ๋ถ | โ ์๋ฒ ์ ์ก๋์ง ์์ | โ ์๋ฒ ์ ์ก๋์ง ์์ | โ
์์ฒญ๋ง๋ค ์๋์ผ๋ก ์ ์ก๋จ (Cookie ํค๋) |
๐ ๋ณด์ ๋ฐ ์ฉ๋
| ํญ๋ชฉ | localStorage | sessionStorage | cookies |
| JavaScript ์ ๊ทผ | โ ๊ฐ๋ฅ | โ ๊ฐ๋ฅ | โ
๊ธฐ๋ณธ ๊ฐ๋ฅ โ HttpOnly ์ค์ ์ ๋ถ๊ฐ๋ฅ |
| XSS ๊ณต๊ฒฉ | โ ๋งค์ฐ ์ทจ์ฝ (JS ์ ๊ทผ ๊ฐ๋ฅ) | โ ๋งค์ฐ ์ทจ์ฝ (JS ์ ๊ทผ ๊ฐ๋ฅ) | โ HttpOnly๋ก ๋ง์ ์ ์์ |
| CSRF ๊ณต๊ฒฉ | โ ์์ (์ ์ก ์ ๋จ) | โ ์์ (์ ์ก ์ ๋จ) | โ SameSite ์ค์ ํ์ |
| ํฌ๊ธฐ ์ ํ | ์ฝ 5MB | ์ฝ 5MB | ์ฝ 4KB |
| ๋ณด์ ๊ถ์ฅ ์ค์ | ์ฌ์ฉ ์ต์ํ ๋๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ | ์งง์ ์ํ๊ฐ๋ง ๋ณด๊ด | HttpOnly Secure SameSite=Strict |
๐ฏ ์ฃผ๋ก ์ฌ์ฉ๋๋ ์์
| ํญ๋ชฉ | localStorage | sessionStorage | cookies |
| ๋ก๊ทธ์ธ ์ํ ์ ์ง | โ
Access Token ์ ์ฅ ์ ์ฌ์ฉ๋จ (์ฃผ์ ํ์) |
โ ๋ธ๋ผ์ฐ์ ์ข ๋ฃ ์ ์ฌ๋ผ์ง | โ
Refresh Token ์ ์ฅ (๋ณด์ ๊ฐํ ๊ฐ๋ฅ) |
| ์ฌ์ฉ์ ์ค์ ์ ์ฅ | โ ํ ๋ง, ์ธ์ด ์ค์ ๋ฑ | โ ๋นํ์ ์ ๋ ฅ๊ฐ ์์ ์ ์ฅ ๋ฑ | โ ๋นํจ์จ์ (์๋ ์ ์ก ๋ถ๋ด ์์) |
| ์ธ์ฆ ๋ฐ ์ธ์ ๊ด๋ฆฌ | โ JS๋ง ์ ๊ทผ ๊ฐ๋ฅํด ์ํ | โ ํ๋ฐ์ฑ์ด ๊ฐํจ | โ ์๋ฒ ์ค์ฌ ์ธ์ฆ์ ์ ํฉ |
๐ ๊ฒฐ๋ก
๊ฐ ์ ์ฅ์๋ ์ฉ๋์ ๋ณด์ ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ ์ฌ์ฉ ๋ฐฉ์์ด ์์ ํ ๋ฌ๋ผ์ง๋ค.
๋ฐ๋ผ์ ์๋์ ๊ธฐ์ค์ ๋ฐ๋ผ์ ์ ํํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
- ๐ ๋ณด์ ๋ฐ ์ธ์ฆ์ด ํ์ํ ์ ๋ณด (ํนํ Refresh Token)
→ cookies (HttpOnly, Secure, SameSite ์ค์ ํ์) - โ ์ฌ์ฉ์ ํ๊ฒฝ ์ค์ / ์บ์ / ๋น๋ก๊ทธ์ธ ์ํ ๋ฐ์ดํฐ ์ ์ง
→ localStorage (๋ณด์ ์ํ์ด ๋ฎ์ ๊ฒฝ์ฐ) - โ๏ธ ์งง์ ์๊ฐ ๋์ ์์ ์ ์ฅ์ด ํ์ํ ๊ฐ (ex. ํผ ๋ฐ์ดํฐ, SPA ์ํ ์ ์ง)
→ sessionStorage
๋ฐ์ํ
'๐ป๊ณต๋ถ ๊ธฐ๋ก > ๐ Frontend' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Frontend] ESLint v9 ๊ณต์ ๋ฌธ์ ๋ฏ์ด๋ณด๊ธฐ (0) | 2025.11.12 |
|---|---|
| [Frontend] React + TypeScript ํ๋ก์ ํธ ๋ง๋ค๊ณ GitHub์ ์ฌ๋ฆฌ๊ธฐ (0) | 2025.11.11 |
| [Frontend] Cookies (0) | 2025.06.28 |
| [Frontend] sessionStorage (1) | 2025.06.28 |
| [Frontend] localStorage์ Cookies (0) | 2025.06.28 |