-
Notifications
You must be signed in to change notification settings - Fork 1
session storage
๋ฒ ํ
๋ฐฉ์ ์๋ก ์์ฑํ๋ฉด ์ธ์
์คํ ๋ฆฌ์ง์ userInfo๋ผ๋ ํค๋ก ํ์ ์ ๋ณด๊ฐ ์ ์ฅ ๋๋ค. ์ด๋ ํ ๋ช
์ด ์ฌ๋ฌ ๋ฒ ํ
์ ๋์ ์ฐธ์ฌํ ์ ์๊ณ , ๋ฒ ํ
๋ฐฉ์ ์ค์๋ก ๋๊ฐ๋ ํด๋น ๋ฒ ํ
๋ฐฉ์ผ๋ก ๋์๊ฐ ์ ์๊ฒ ํ๋ ค๊ณ ์ค์ ํด๋์ ๊ฐ์ด๋ค.
ํ์ง๋ง ์ด๋ ๊ฒ ์ธ์
์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์๋ ๋ช ๊ฐ์ง ๋ฌธ์ ์ ์ด ์๋๋ฐ, ๊ทธ ์ค ๊ฐ์ฅ ํฐ ๋ฌธ์ ์ ์ ์ธ์
์คํ ๋ฆฌ์ง๊ฐ ๋ธ๋ผ์ฐ์ ํญ ๋จ์๋ก ๋์ํ๋ค๋ ๊ฒ์ด์๋ค. ๋ค๋ฅธ ํญ์ ์ด์ด์ ๋ฒ ํ
๋ฐฉ์ ๋ค์ด๊ฐ๊ฒ ๋๋ฉด ๋์ผ ๊ณ์ ์์๋ ๋ถ๊ตฌํ๊ณ ์๋์ ๊ฐ์ด ์ฐธ์ฌ ์ค์ธ ๋ฒ ํ
๋ฐฉ์ด ๋จ์ง ์๋๋ค.
์ธ์
์คํ ๋ฆฌ์ง๋ ์น ๋ธ๋ผ์ฐ์ ์์ ์ ๊ณตํ๋ ํด๋ผ์ด์ธํธ ์ธก ์ ์ฅ์๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ๋ซํ๊ฑฐ๋ ์๋ก๊ณ ์นจ ๋์ง ์๋ ํ์, ๋์ผ ํญ ๋ด์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. localStorage์๋ ๋น์ทํ์ง๋ง ํญ(Session) ๋จ์๋ก ๋์ํ๋ค๋ ์ฐจ์ด๊ฐ ์๋ค.
- ํญ ๋จ์์ ์คํ ๋ฆฌ์ง: ๊ฐ์ ๋๋ฉ์ธ์์ ์ด๋๋ผ๋ ํญ์ด ๋ค๋ฅด๋ฉด ์ธ์ ์คํ ๋ฆฌ์ง๋ฅผ ๊ณต์ ํ์ง ์๋๋ค.
- ์๋ช ์ฃผ๊ธฐ: ์๋ก๊ณ ์นจ ํด๋ ๋ฐ์ดํฐ๊ฐ ์ ์ง๋์ง๋ง, ํญ์ ๋ซ์ผ๋ฉด ์ญ์ ๋๋ค.
- ๋ฐ์ดํฐ ํฌ๊ธฐ ์ ํ: ์ผ๋ฐ์ ์ผ๋ก ๋ธ๋ผ์ฐ์ ๋ง๋ค ์ฝ 5-10MB ์ ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ค.
- ๋๊ธฐํ ๋ฒ์: ๊ฐ์ ํญ ๋ด์์๋ง ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ค. ๋ค๋ฅธ ํญ์ด๋ ๋ธ๋ผ์ฐ์ ์๋์ฐ์๋ ๋ ๋ฆฝ์ ์ด๋ค.
์ด์ ๊ฐ์ ํน์ง ๋๋ฌธ์ ์ธ์ ์คํ ๋ฆฌ์ง๋ ์์ ๋ฐ์ดํฐ ์ ์ฅ์ ์ ํฉํ๋ค. ์๋ฅผ ๋ค์ด, ํ์ฌ ํญ์์๋ง ์ฌ์ฉ๋๋ ํผ ์ ๋ ฅ ํน์ ์ผ์์ ์ธ ์ฌ์ฉ์ ์์ ์ํ๋ฅผ ์ ์ฅํ๋ ๋ฐ์๋ง ์ ํฉํ๋ค.
๋ฌผ๋ก ๋ฒ ํ ๋ฐฉ ์ฐธ์ฌ ์ํ๊ฐ ์ผ์์ ์ธ ์์ ๋ฐ์ดํฐ์ ์ํ๊ธฐ๋ ํ๋ค. ํ์ง๋ง ๋ฒ ํ ๋ฐฉ ์ฐธ์ฌ ์ํ๋ ์ฌ์ฉ์๊ฐ ์ ํญ์ ์ด๊ฑฐ๋ ๋ค๋ฅธ ๊ธฐ๊ธฐ์์ ์ ๊ทผํด๋ ํญ์ ๋์ผํ๊ฒ ์ ์ง๋์ด์ผ ํ๋, ๋๊ธฐํ๊ฐ ํ์ํ ๋ฐ์ดํฐ๋ค. ๋ฐ๋ผ์ ์ด๋ฐ ๊ฒฝ์ฐ์๋ ๊ธฐ์กด์ ์ธ์ ์คํ ๋ฆฌ์ง ๋ฐฉ์์ด ์ ํฉํ์ง ์๋ค. ์ธ์ ์คํ ๋ฆฌ์ง๋ ์์ ์ค๋ช ํ๋ฏ์ด ํญ ๊ฐ, ๋ธ๋ผ์ฐ์ ๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๋ ๊ฒ ๋๊ธฐํ๊ฐ ํ์ํ ๋ฐ์ดํฐ๋ ์๋ฒ ์ค์ฌ์ ์ ์ฅ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ํฉํ๋ค. ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋๋ฐ, ๋ค์๊ณผ ๊ฐ๋ค.
- ์๋ฒ์์ ์ฌ์ฉ์ ์ธ์ ์ ๊ด๋ฆฌํ๊ณ ์ธ์ ID๋ฅผ ์ฟ ํค์ ์ ์ฅํด ์ฌ์ฉ์ ์์ฒญ ์ ์ธ์ ์ํ๋ฅผ ํ์ธํ๋ค.
- ์ฌ์ฉ์์ ๋ฒ ํ ๋ฐฉ ์ฐธ์ฌ ์ํ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋๊ธฐํํ๋ค.
- Redis์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ ์บ์ ์๋ฒ๋ฅผ ์ฌ์ฉํด ๋ฒ ํ ๋ฐฉ ์ฐธ์ฌ ์ํ๋ฅผ ๊ด๋ฆฌํ๋ค.
- JWT ํ์ฉ
- Socket ํ์ฉ
์์ ๋ฐฉ๋ฒ ์ค ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ํ์ฉํ๊ธฐ๋ก ํ๋ค. ์๊ตฌ์ ์ผ๋ก ๊ด๋ฆฌํ ํ์ ์๋ ์ผ์์ ์ด๊ณ ์์์ ์ธ ๋ฐ์ดํฐ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊น์ง๋ ํ์ ์์ ๊ฒ ๊ฐ๊ณ , ์ค์๊ฐ ๊ด๋ฆฌ ๋ํ ํ์ํ์ง ์์ผ๋ฉฐ, ๋ฒ ํ ๋ฐฉ ID๋ ๋งํฌ์์๋ ์ถฉ๋ถํ ์ ์ถํ ์ ์์ผ๋ฏ๋ก ๋ณด์์ด ํ์ํ ๋ฐ์ดํฐ๋ ์๋๊ธฐ ๋๋ฌธ์ด๋ค.
| ๊ตฌ๋ถ | ์ฟ ํค (Cookie) | ์ธ์ (Session) |
|---|---|---|
| ์ ์ฅ ์์น | ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์ ์ ์ฅ | ์๋ฒ์ ์ ์ฅ |
| ์๋ช | ์ฟ ํค์ ์ค์ ๋ ๋ง๋ฃ ์๊ฐ์ ๋ฐ๋ผ ์ง์๋จ (์ง์ ์ฟ ํค: ๋ธ๋ผ์ฐ์ ์ข ๋ฃ ํ์๋ ์ ์ง) | ์ผ๋ฐ์ ์ผ๋ก ๋ธ๋ผ์ฐ์ ์ข ๋ฃ ์ ์ธ์ ์ด ๋ง๋ฃ๋จ |
| ๋ณด์ | ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋๋ฏ๋ก ๋ณด์์ ์ทจ์ฝํ ์ ์์ (๋ฏผ๊ฐํ ์ ๋ณด ์ ์ฅ ๊ธ์ง) | ์๋ฒ์ ์ ์ฅ๋๋ฏ๋ก ์๋์ ์ผ๋ก ๋ณด์์ด ์ฐ์ํจ |
| ์ฉ๋ ์ ํ | ์ฟ ํค 1๊ฐ๋น ์ต๋ 4KB, ๋๋ฉ์ธ๋น ์ต๋ 20๊ฐ ์ ๋ | ์๋ฒ์ ์ ์ฅ๋๋ฏ๋ก ์ฉ๋ ์ ํ์ ์๋ฒ์ ์ค์ ์ ๋ฐ๋ฆ |
| ์๋ | ํด๋ผ์ด์ธํธ์์ ๋ฐ๋ก ํ์ธ ๊ฐ๋ฅํ๋ฏ๋ก ๋น ๋ฆ | ์๋ฒ ์์ฒญ์ด ํ์ํ๋ฏ๋ก ์๋์ ์ผ๋ก ๋๋ฆด ์ ์์ |
| ์ฌ์ฉ ๋ชฉ์ | ์ฌ์ฉ์ ์ํ ์ ์ฅ(์: ๋ก๊ทธ์ธ ์ํ, ์ฌ์ฉ์ ์ค์ , ๋ฐฉ๋ฌธ ๊ธฐ๋ก) | ๋ก๊ทธ์ธ ์ํ ์ ์ง, ๋ฏผ๊ฐํ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ์๋ฒ ๊ธฐ๋ฐ ์ธ์ฆ ์ฒ๋ฆฌ |
| ์ ์ก ๋ฐฉ์ | HTTP ์์ฒญ ์ ์ฟ ํค ๋ฐ์ดํฐ๊ฐ ํญ์ ์๋์ผ๋ก ์ ์ก๋จ | ์๋ฒ์์ ์ธ์ ID๋ฅผ ์ฟ ํค ๋๋ URL ํ๋ผ๋ฏธํฐ๋ก ์ ์กํ์ฌ ํ์ธ |
| ๊ด๋ฆฌ ๋ฐฉ๋ฒ | ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์์ ์ง์ ์์ ๊ฐ๋ฅ | ์๋ฒ์์๋ง ๊ด๋ฆฌ ๊ฐ๋ฅ (ํด๋ผ์ด์ธํธ๋ ์ธ์ ID๋ง ๋ณด์ ) |
| ์ ์ฉ ์ฌ๋ก | ์ฌ์ดํธ ๋ฐฉ๋ฌธ ๊ธฐ๋ก, ๊ธฐ๋ณธ ์ธ์ด ์ค์ , ๊ด๊ณ ์ถ์ ๋ฑ | ์ฌ์ฉ์ ์ธ์ฆ, ์ฅ๋ฐ๊ตฌ๋ ๋ฐ์ดํฐ ์ ์ง, ๋ก๊ทธ์ธ ์ธ์ ๊ด๋ฆฌ ๋ฑ |
| ์ทจ์ฝ์ | CSRF ๋ฐ XSS ๊ณต๊ฒฉ์ ์ทจ์ฝ | ์ธ์ ๊ณ ์ (Session Fixation) ๊ณต๊ฒฉ์ ์ทจ์ฝ (๋ณด์ ์ค์ ์ผ๋ก ๋ณด์ ๊ฐ๋ฅ) |
๋ฒ ํ ๋ฐฉ ์ฐธ์ฌ ์ํ๋ ๋ชจ๋ ํญ์ด๋ ๋ธ๋ผ์ฐ์ ์์ ๋๊ธฐํ๋์ด์ผ ํ๋ค. ์ฟ ํค๋ ๋์ผํ ๋๋ฉ์ธ์์๋ ๋ชจ๋ ํญ๊ณผ ๋ธ๋ผ์ฐ์ ์์ ๊ณต์ ๋๋ฏ๋ก ์ฌ์ฉ์์ ๋ฒ ํ ๋ฐฉ ์ฐธ์ฌ ์ํ๋ฅผ ์ ์งํ๊ณ ๋๊ธฐํ ํ ์ ์๋ค. ๋ํ ์ฟ ํค๋ HTTP ์์ฒญ ์ ์๋์ผ๋ก ์๋ฒ๋ก ์ ์ก๋๊ธฐ์ ์๋ฒ๊ฐ ์ฌ์ฉ์์ ์ํ๋ฅผ ํ์ธํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ๊ธฐ ์ฝ๋ค.
- ๋ฒ ํ ๋ฐฉ ์ฐธ์ฌ ์์ฒญ: ์ฌ์ฉ์๊ฐ ๋ฒ ํ ๋ฐฉ์ ์ฐธ์ฌํ๋ฉด ์๋ฒ์์ ํด๋น ์ฌ์ฉ์์ ์ธ์ ์ ์์ฑํ๊ณ ์ํ๋ฅผ ์ ์ฅํ๋ค. ์ด๋, ์ธ์ ID๋ ์ฟ ํค์ ์ ์ฅ๋๋ค.
- ์ ํญ์์ ๋ฒ ํ ๋ฐฉ ์ ๊ทผ์: ์ฟ ํค์ ์ธ์ ID๊ฐ ์์ฒญ์ ํฌํจ๋์ด ์๋ฒ๋ก ์ ๋ฌ๋๊ณ , ์๋ฒ๊ฐ ํ์ธ ํ ๋ฒ ํ ๋ฐฉ ์ฐธ์ฌ ์ ๋ณด๋ฅผ ๋ฐํํ๋ค.
- ๋ฒ ํ ์ทจ์์: ์๋ฒ๊ฐ ์ธ์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๊ณ ์ํ๋ฅผ ์ด๊ธฐํํ๋ฉด, ์ดํ ์์ฒญ์๋ ๋ฒ ํ ๋ฐฉ ์ฐธ์ฌ ์ํ๋ฅผ ํ์ธํ ์ ์๋ค.
๋ฒ ํ ๋ฐฉ ID๋ URL์๋ ๋ ธ์ถ๋๋ ์ ๋ณด๋ผ ์ ํ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ์๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์ ์ฅํ๋ ๊ฒ์ด ์ข ๋ ๊ฐ๋จํ๊ณ ํจ์จ์ ์ผ ์ ์๋ค.
ํ์ง๋ง ๋๊ธฐํ๊ฐ ํ์ํ๊ธฐ์ ์ธ์ +์ฟ ํค ๋ฐฉ์์ ๊ณ ๋ คํ ๊ฒ์ธ๋ฐ, ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ๊ฒฝ์ฐ ๋๋ฐ์ด์ค ๊ฐ ๋๊ธฐํ๊ฐ ๋์ง ์๋๋ค๋ ๋จ์ ์ด ์๋ค. ์ด๋ฅผ ๊ทน๋ณตํ๊ณ ์ค๋ฒํค๋๋ฅผ ์ค์ผ ์ ์๋ ๋ฐฉ๋ฒ์ ์ถ๊ฐ์ ์ผ๋ก ๊ณ ๋ คํด๋ด์ผ ํ๋ค.
- ์ฌ์ฉ์๊ฐ ๋ฒ ํ ๋ฐฉ์ ์ฐธ์ฌ ์ค์ธ์ง ์ฌ๋ถ์ ๋ฐ๋ผ ๋ค๋ฅธ UI๋ฅผ ๋ณด์ฌ์ค์ผ ํ๋ค. (์ด๋ฏธ ์ฐธ์ฌ ์ค์ธ ๋ฒ ํ ๋ฐฉ์ด ์๋ ๊ฒฝ์ฐ ์ฌ์ฉ์์๊ฒ ์๋ด)
- ์ธ์ ๋ง๋ฃ ์ ์ฒ๋ฆฌ
- ํ์ํ ๊ฒฝ์ฐ์ ์ธ์
๋ฐ์ดํฐ ์ผ๋ถ๋ฅผ
localStorage์ ์ ์ฅํ์ฌ ์ฌ์ฉ
- ์ฐ๋ฆฌ์ ๋ฆฌํฉํ ๋ง ๋ชฉํ
- 1์ฃผ์ฐจ ๋ฆฌํฉํ ๋ง ๊ณํ
- 2์ฃผ์ฐจ ๋ฆฌํฉํ ๋ง ๊ณํ
- 3์ฃผ์ฐจ ๋ฆฌํฉํ ๋ง ๊ณํ
- ์ํ ๊ด๋ฆฌ์ ์ค์์ฑ
- vite vs webpack
- TCP์ UDP
- RESTful API์ ๋ํ ๊ณ ๋ฏผ
- useEffect ์ ๋๋ก ์ฌ์ฉํด์ ์๋ฒ ๊ฐ๋ฐ์์ ์ ์ ๊ฑด๊ฐ ์งํค๋ ๋ฐฉ๋ฒ
- libuv์ ์ด๋ฒคํธ ๋ฃจํ๋ฅผ ํํค์ณ๋ณด์ (1) - libuv์ ์ด๋ฒคํธ ๋ฃจํ ์คํ ํ๋ฆ
- ๋ฒ ํ ๋๊ธฐ์ฐฝ์๋ง ๋ค์ด๊ฐ๋ ๋ฐ๋ก ๋ฒ ํ ์ฐธ์ฌ ๋๋ ๊ฒ ๋ง๋?
- ์ธ์ ์คํ ๋ฆฌ์ง์ userInfo ๊ฐ ์ ์ฅํ๋ ๊ฒ์ ๋ฌธ์ ์ ๊ณผ ํด๊ฒฐ ๋ฐฉ์
- ๋ก์ปฌ์์ ์๋ฒ๋ก ์์ฒญ ์, ์บ์ ์ฒ๋ฆฌ๋ก ์ธํ ์๋ต ์ด์ ํด๊ฒฐ
- ์ฐธ์ฌ์๊ฐ ์ฐฝ์ ๋๊ฐ ์ํ์์ ๋ฐฉ์ฅ์ด ๋ฒ ํ ๋ฐฉ์ ์ข ๋ฃํ๋ ๊ฒฝ์ฐ๋ ์ด๋ป๊ฒ ํด์ผํ๋๊ฐ?
