์ฟ ํค(Cookie)์ ํน์ง๊ณผ ๋จ์
์ฟ ํค๋ ์น ๋ธ๋ผ์ฐ์ ์์ ํด๋ผ์ด์ธํธ ์ธก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ ํต์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก, ์ฃผ๋ก ์ฌ์ฉ์ ์ธ์ฆ(์: ๋ก๊ทธ์ธ ์ธ์
์ ์ง)์ด๋ ๊ฐ๋จํ ์ค์ ์ ์ฅ์ ์ฌ์ฉ๋ฉ๋๋ค. ํ์ง๋ง ๋ช ๊ฐ์ง ๋จ์ ์ด ์์ต๋๋ค
- ์ฉ๋ ์ ํ: ์ฟ ํค๋ ์ ์ฅ ์ฉ๋์ด ์ฝ 4KB๋ก ๋งค์ฐ ์์ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ด๋ ต์ต๋๋ค.
- ๋ณด์ ์ทจ์ฝ์ฑ: ์ฟ ํค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ํธํ๋์ง ์์ผ๋ฏ๋ก, ๋ฐ์ดํฐ๊ฐ ํ๋ฌธ์ผ๋ก ์ ์ก๋๊ฑฐ๋ ์ ์ฅ๋ ๊ฒฝ์ฐ ์ 3์๊ฐ ์ฝ๊ฒ ์ ๊ทผํ ์ ์์ด ์ ๋ณด ๋๋(์: XSS ๊ณต๊ฒฉ ๋ฑ)์ ์ํ์ด ์์ต๋๋ค.
- ๋ง๋ฃ ๊ธฐ๊ฐ ๊ด๋ฆฌ: ์ฟ ํค๋ key-value ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉฐ, ๊ฐ๋ฐ์๊ฐ ์ง์ ๋ง๋ฃ ๊ธฐ๊ฐ์ ์ค์ ํด์ผ ํฉ๋๋ค. ๋ง๋ฃ ๊ธฐ๊ฐ์ด ์ง๋๋ฉด ์๋์ผ๋ก ์ญ์ ๋์ง๋ง, ์ด ๊ณผ์ ์ด ๋ณต์กํ๊ฑฐ๋ ๊ด๋ฆฌ๊ฐ ์ํํด์ง ์ ์์ต๋๋ค.
- ๋คํธ์ํฌ ๋ถํ: ์ฟ ํค๋ HTTP ์์ฒญ๋ง๋ค ์๋ฒ๋ก ์๋ ์ ์ก๋๋ฏ๋ก, ๋ถํ์ํ ๋ฐ์ดํฐ ์ ์ก์ด ๋ฐ์ํด ์ฑ๋ฅ ์ ํ๋ฅผ ์ ๋ฐํ ์ ์์ต๋๋ค.
์ฟ ํค ๋ณด์ ๊ณ ๋ ค์ฌํญ - HttpOnly: ์ฟ ํค์ HttpOnly ์์ฑ์ ์ค์ ํ๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํตํ ์ ๊ทผ์ ์ฐจ๋จํด XSS(ํฌ๋ก์ค ์ฌ์ดํธ ์คํฌ๋ฆฝํ ) ๊ณต๊ฒฉ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. - Secure: Secure ์์ฑ์ ์ถ๊ฐํ๋ฉด HTTPS ์ฐ๊ฒฐ์์๋ง ์ฟ ํค๊ฐ ์ ์ก๋์ด ๋ฐ์ดํฐ ๋์ฒญ์ ๋ฐฉ์งํฉ๋๋ค. - SameSite: ์ด ์์ฑ์ผ๋ก ์ฟ ํค๊ฐ ๋์ผ ์ถ์ฒ ์์ฒญ์๋ง ์ ์ก๋๋๋ก ์ค์ ํด CSRF(ํฌ๋ก์ค ์ฌ์ดํธ ์์ฒญ ์์กฐ) ๊ณต๊ฒฉ์ ์ค์ผ ์ ์์ต๋๋ค. ๋ก๊ทธ์์: ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์์ํ๋ฉด ์๋ฒ๋ ํด๋น ์ธ์ ID๋ฅผ ๋ฌดํจํํ๊ณ , ๋ธ๋ผ์ฐ์ ์ ์ฟ ํค๋ฅผ ์ญ์ ํ๊ฑฐ๋ ๋ง๋ฃ์์ผ ์ธ์ ์ ์ข ๋ฃํฉ๋๋ค.
์น ์คํ ๋ฆฌ์ง(Web Storage)์ ๋ฑ์ฅ
๋ก์ปฌ ์คํ ๋ฆฌ์ง (Local Storage)
- ํน์ง: ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์ ์๊ตฌ์ ์ผ๋ก ์ ์ฅํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๊ฑฐ๋ ๋ธ๋ผ์ฐ์ ์บ์๋ฅผ ์ง์ฐ์ง ์๋ ํ ์ ์ง๋ฉ๋๋ค.
- ์ฉ๋: ์๋ ๋ก๊ทธ์ธ ํ ํฐ์ด๋ ์ฌ์ฉ์ ์ ํธ ์ค์ (์: ๋คํฌ ๋ชจ๋)์ ์ ์ฅํ๋ ๋ฐ ์ ์ฉ.
- ์ฉ๋: ์ฝ 5~10MB๋ก, ์ฟ ํค๋ณด๋ค ํจ์ฌ ํฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค.
- ์ฅ์ : ๋ง๋ฃ ๊ธฐ๊ฐ์ ๋ณ๋๋ก ์ค์ ํ ํ์๊ฐ ์์ด ๊ด๋ฆฌ๊ฐ ๊ฐํธํฉ๋๋ค.
์ธ์ ์คํ ๋ฆฌ์ง (Session Storage)
- ํน์ง: ๋ธ๋ผ์ฐ์ ํญ์ด ๋ซํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์๋์ผ๋ก ์ญ์ ๋ฉ๋๋ค. ์ฆ, ์ธ์ ๋จ์๋ก๋ง ๋ฐ์ดํฐ๋ฅผ ์ ์งํฉ๋๋ค.
- ์ฉ๋: ์์ ๋ฐ์ดํฐ ์ ์ฅ(์: ํผ ์ ๋ ฅ ๋ฐ์ดํฐ, ๋น๋ก๊ทธ์ธ ์ฅ๋ฐ๊ตฌ๋)์ด๋ ๋ณด์์ด ์ค์ํ ์ผํ์ฑ ์ ๋ณด์ ์ ํฉํฉ๋๋ค.
- ์ฉ๋: ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ๋์ผํ๊ฒ 5~10MB๋ฅผ ์ง์ํฉ๋๋ค.
- ์ฅ์ : ์ธ์ ์ด ์ข ๋ฃ๋๋ฉด ์๋์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง๋ฏ๋ก, ๋ฏผ๊ฐํ ์ ๋ณด์ ๋ ธ์ถ ์ํ์ด ์ค์ด๋ญ๋๋ค.
ํญ๋ชฉ | ์ฟ ํค | ๋ก์ปฌ ์คํ ๋ฆฌ์ง | ์ธ์
์คํ ๋ฆฌ์ง |
---|---|---|---|
์ ์ฅ ๊ธฐ๊ฐ | ๋ง๋ฃ ๊ธฐ๊ฐ ์ค์ ํ์ | ์๊ตฌ ์ ์ฅ (์๋ ์ญ์ ์ ๊น์ง) | ์ธ์ ์ข ๋ฃ ์ ์ญ์ |
์ฉ๋ | ์ฝ 4KB | ์ฝ 5~10MB | ์ฝ 5~10MB |
๋ณด์ | ์ํธํ ์์, ๋๋ ์ํ | ์๋ฒ๋ก ์๋ ์ ์ก ์ ๋จ | ์๋ฒ๋ก ์๋ ์ ์ก ์ ๋จ |
์ฌ์ฉ ์ | ์ธ์ ๊ด๋ฆฌ, ๊ฐ๋จํ ์ค์ | ์๋ ๋ก๊ทธ์ธ, ์ฌ์ฉ์ ์ค์ | ์์ ๋ฐ์ดํฐ, ํผ ์ ๋ ฅ ์ ์ง |
์ฟ ํค๋ ์ฉ๋์ด ์๊ณ ๋ณด์์ ์ทจ์ฝํ๋ฉฐ, ๋ง๋ฃ ๊ธฐ๊ฐ ์ค์ ๊ณผ ๋คํธ์ํฌ ๋ถํ๋ผ๋ ๋จ์ ์ ์๊ณ ์์ต๋๋ค. ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ ์๊ตฌ ์ ์ฅ์, ์ธ์
์คํ ๋ฆฌ์ง๋ ์์ ์ ์ฅ์ ์ ๊ณตํ๋ฉฐ, ๋ ํฐ ์ฉ๋๊ณผ ๊ฐํธํ ๊ด๋ฆฌ๋ฅผ ์ง์ํฉ๋๋ค. ์น ๊ฐ๋ฐ์๋ ๋ฐ์ดํฐ์ ์ฑ๊ฒฉ๊ณผ ๋ณด์ ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ ์ฟ ํค์ ์น ์คํ ๋ฆฌ์ง๋ฅผ ์ ์ ํ ์ ํํด ์ฌ์ฉํ ์ ์์ต๋๋ค.