[TECH-QA] ๋ธŒ๋ผ์šฐ์ € ์ €์žฅ์†Œ

์ฟ ํ‚ค(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
๋ณด์•ˆ์•”ํ˜ธํ™” ์—†์Œ, ๋„๋‚œ ์œ„ํ—˜์„œ๋ฒ„๋กœ ์ž๋™ ์ „์†ก ์•ˆ ๋จ์„œ๋ฒ„๋กœ ์ž๋™ ์ „์†ก ์•ˆ ๋จ
์‚ฌ์šฉ ์˜ˆ์„ธ์…˜ ๊ด€๋ฆฌ, ๊ฐ„๋‹จํ•œ ์„ค์ •์ž๋™ ๋กœ๊ทธ์ธ, ์‚ฌ์šฉ์ž ์„ค์ •์ž„์‹œ ๋ฐ์ดํ„ฐ, ํผ ์ž…๋ ฅ ์œ ์ง€
์ฟ ํ‚ค๋Š” ์šฉ๋Ÿ‰์ด ์ž‘๊ณ  ๋ณด์•ˆ์— ์ทจ์•ฝํ•˜๋ฉฐ, ๋งŒ๋ฃŒ ๊ธฐ๊ฐ„ ์„ค์ •๊ณผ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜๋ผ๋Š” ๋‹จ์ ์„ ์•ˆ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€๋Š” ์˜๊ตฌ ์ €์žฅ์„, ์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€๋Š” ์ž„์‹œ ์ €์žฅ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋” ํฐ ์šฉ๋Ÿ‰๊ณผ ๊ฐ„ํŽธํ•œ ๊ด€๋ฆฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์›น ๊ฐœ๋ฐœ์ž๋Š” ๋ฐ์ดํ„ฐ์˜ ์„ฑ๊ฒฉ๊ณผ ๋ณด์•ˆ ์š”๊ตฌ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์ฟ ํ‚ค์™€ ์›น ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ ์ ˆํžˆ ์„ ํƒํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.