๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
DB์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ๋ฌ๋ฆฌ ์ญ์ ๋์ด๋ ์๊ด ์๋ ์๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ฌ์ฉํ๋ค.
์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ ์ ์ฅ์ ๋ถ๋ดํ๋ค. ์ฌ์ฉ์์ ํ๋์จ์ด์ ์์กดํ๋ ์ํํธ์จ์ด ํ์ (์ฉ๋์ 5MB์ ๋)
local storage์ session storage๋ก ๋๋๋ค.
์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋์ด๋ ๋๊น์ง ๋จ์์๋๋ค.
์๊ตฌ์ ์ธ ์คํ ๋ฆฌ์ง์ด๊ณ , ๋ค๋ฅธ ํญ์์๋ ๊ณต์ ๋๋ค๋ ํน์ง์ ๊ฐ๊ณ ์๋ค.
์น ๋๋ฉ์ธ๋น 1๊ฐ์ฉ ์์ ๋๋ฉฐ, session storage์ ๋ค๋ฅด๊ฒ ์์ฐฝ์ ๋์๋ ๋๋ฉ์ธ๋ง ๊ฐ์ผ๋ฉด ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ค. ๋จ, ๋ค๋ฅธ ๋๋ฉ์ธ์ local storage์๋ ์ ๊ทผ์ด ๋ถ๊ฐํ๋ค.
ex) ๋นํ์ ๋ก์ง, access token
๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋๋ฉด ์ฝ๊ฒ ์ฌ๋ผ์ง๋ค.
์์ฐฝ ์ํญ์ ๋จ์๋ก ์คํ ๋ฆฌ์ง ์์ฑ, ๊ฐ์ ํญ์ด๋ผ๋ ๋๋ฉ์ธ์ด ๋ค๋ฅด๋ฉด ๋๋ค๋ฅธ ์ธ์ ์คํ ๋ฆฌ์ง๋ฅผ ์์ฑํ๋ค.
์ผํ์ฑ ์คํ ๋ฆฌ์ง์ด๋ค.
๋ง๋ฃ ์๊ฐ์ด ์ง๋๋ฉด ๋ ์๊ฐ๋ค, ์นํ์ด์ง ์ธ์ ์ด ๋๋๋ฉด ๋ฐ์ดํฐ๋ ์ญ์ ๋๋ค.
ํญ๋ง๋ค ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ์ง ์๊ณ ๊ฒฉ๋ฆฌ๋์ด ์ ์ฅํ๋ค.
setItem(key, value) โ key, value๋ฅผ ์์ผ๋ก ์ ์ฅ
getItem(key) โ ํด๋น key ์กฐํ
removeItem(key) โ ํด๋น key ์ญ์
clear() โ ๋ชจ๋ ๋ฐ์ดํฐ ์ญ์
length โ ํค, ๊ฐ ์์ ๊ฐ์
1. ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋ key-value ํ์์ ๋ฌธ์์ด ํ์ผ 2. ๋ฐ๋ก ์ค์ ํด์ฃผ์ง ์์๋ ์๋ฒ์์ ๋ฐ์ดํฐ ๊ตํ์ด ๊ฐ๋ฅํ๋ค 3. https, secure ์ต์ ์ ํตํด์ https ํ๊ฒฝ์์๋ง ๊ตํ์ด ๊ฐ๋ฅํ๊ฑฐ๋, ์ธ๋ถ์์ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅ ํ๋๋ก ์ค์ ์ด ๊ฐ๋ฅํ๋ค 4. ๋ธ๋ผ์ฐ์ ๊ฐ ๋ซํ๋ฉด ์ญ์ ๋๋ค, but ์ ํจ๊ธฐ๊ฐ์ ๋ช ์ํ๋ฉด ๋ซํ๋ ์ญ์ ๋์ง ์๋๋ค. ex) refresh token, session-id, ์๋๋ก๊ทธ์ธ, ํ์ ์ฐฝ 3์ผ๊ฐ ๋ณด์ง์๊ธฐ
๋ณด์์ด ๋ณ๋ก ์ค์ํ์ง ์๊ฑฐ๋, ํ๋ฉด์ ๋๋ฉด ๋ก๊ทธ์ธ์ด ์ข ๋ฃ๋๋ ๊ฒฝ์ฐ
ex) ๋ก๊ทธ์ธ์ด ์๋ฃ๋์์ ๋ ์คํํด์ผํ๋ ๋ก์ง์ด ์๊ณ , ๊ทธ ๋ก์ง์ด ui๋ฅผ ๋ณ๊ฒฝ์์ผ์ผ ํ๋ค๋ฉด?
1. ์๋ก๊ณ ์นจ, ํ์ด์ง ์ด๋ โ ํ์ด์ง ๊น๋นก์์ด ์กด์ฌ
2. ์ ์ญ์ํ๋ก ๊ฐ์ง๊ณ ์๋ ๊ฒ โ ์๋ก๊ณ ์นจ์ ํ๋ ๊ฒ ์๋๊ณ , ์ ์ญ์ํ๋ก state๋ฅผ ๊ด๋ฆฌํจ์ผ๋ก์จ ui๋ณ๊ฒฝ. ui๋ state๊ฐ ์๋๋ค, session storage, local stage ๋ชจ๋ state๊ฐ ์๋๋ค. ๊ทธ๋ฅ value์ผ ๋ฟ์ด๋ค.
1. res.body โ res์ body ๊ฐ์ผ๋ก ์ ๋ฌ
2. res.header
3. cookies๋ก ์ ๋ฌ
1. res.body
2. cookies
โ axios ์ธ์คํด์ค ์์ฑ์ withCredential = true
์ด๋ ๊ฒ ๋ฃ์ด์ฃผ๋ฉด ์๋ฒ ๊ฐ์ ํ ํฐ์์ ํค๋ฅผ ์๋ก ๊ตํ ๊ฐ๋ฅํ๋๋ก ํด์ค๋ค.
3. res.header
โ axios interceptor
โ axios ์ธ์คํด์ค ์์ฑ์ default value๋ก ๋ฃ์ด์ค ์ ์๋ค.