[TIL] ๐ŸชCookie์™€ ๐Ÿ“ฆWebStorage

์˜ํƒœยท2022๋…„ 4์›” 6์ผ
0

[TIL]

๋ชฉ๋ก ๋ณด๊ธฐ
16/21

์›น์‚ฌ์ดํŠธ ์ ‘์†์‹œ ์ ‘์†์ž์˜ ๊ฐœ์ธ์žฅ์น˜์— ๋‹ค์šด๋กœ๋“œ ๋˜๊ณ  ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ๋˜๋Š” ์ž‘์€ ํ…์ŠคํŠธ ํŒŒ์ผ.

์›น์‚ฌ์ดํŠธ๋Š” ์ฟ ํ‚ค๋ฅผ ํ†ตํ•ด ์ ‘์†์ž์˜ ์žฅ์น˜๋ฅผ ์ธ์‹ํ•˜๊ณ , ์ ‘์†์ž์˜ ์„ค์ •๊ณผ ๊ณผ๊ฑฐ ์ด์šฉ๋‚ด์—ญ์— ๋Œ€ํ•œ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.

์ฟ ํ‚ค๋Š” key,valueํ˜•ํƒœ์˜ ๋ฌธ์ž์—ด๋“ค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉด 4KB ์ด์ƒ ์ €์žฅ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ์ €์žฅ๋˜๋Š” ์ฟ ํ‚ค๋“ค์€ ๋‹ค ๋‹ค๋ฅด๋‹ค.(ํฌ๋กฌ, ์ต์Šคํ”Œ๋กœ๋Ÿฌ, ์‚ฌํŒŒ๋ฆฌ, ํŒŒ์ด์–ดํญ์Šค ๋“ฑ)

์ฟ ํ‚ค์˜ ์ข…๋ฅ˜

1) ๊ธฐ์ˆ ์  ์ฟ ํ‚ค : ๊ฒ€์ƒ‰ํ•˜๋Š” ์ฃผ์ฒด๊ฐ€ ์‚ฌ๋žŒ์ธ์ง€, ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ธ์ง€ ์ด์šฉ์ž ๊ตฌ๋ถ„ ๊ธฐ๋Šฅ ์ˆ˜ํ–‰

2) ๋ถ„์„ ์ฟ ํ‚ค : ์–ด๋–ค ์ข…๋ฅ˜๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š”์ง€, ๋งŽ์ด ๊ฒ€์ƒ‰ํ•˜๋Š”์ง€, ์‹œ๊ฐ„, ์–ธ์–ด ๋Œ€์ƒ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘

3) ๊ด‘๊ณ  ์ฟ ํ‚ค : ๊ฒ€์ƒ‰ ๋‚ด์šฉ, ๊ตญ๊ฐ€, ์–ธ์–ด์— ๋”ฐ๋ผ ๊ด‘๊ณ  ๊ฒŒ์žฌ

์ฟ ํ‚ค ์‚ฌ์šฉ๋ฒ• (Method)

1) ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ํ•˜๋ฉด ์„œ๋ฒ„๋Š” ์‘๋‹ตํ•  ๋•Œ ์ฟ ํ‚ค์— ์ €์žฅํ•˜๊ณ ์ž ํ•˜๋Š” ์ •๋ณด๋ฅผ
Header์˜ Set-Cookie๋กœ ์ „๋‹ฌํ•œ๋‹ค

2) ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๋Š” ์š”์ฒญ์— ํ˜„์žฌ ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ๋œ ์ฟ ํ‚ค๋ฅผ Header์˜ Cookie๋กœ ์ „๋‹ฌ

์„œ๋ฒ„๊ฐ€ ์ฟ ํ‚ค์™€ ํ•จ๊ป˜ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‘๋‹ต์„ ์ „๋‹ฌํ•˜๋ฉด

์ดํ›„์—๋Š” ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ๋Š” ๋งค๋ฒˆ ์ €์žฅ๋œ ๐Ÿช ์ฟ ํ‚ค๋ฅผ Header์—์„œ ํฌํ•จํ•ด ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค


์ผ๋ฐ˜์ ์œผ๋กœ Session ์ฟ ํ‚ค๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ ์ œ๊ฑฐ๋˜๋Š” ์ฟ ํ‚ค๋‹ค

๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋˜๋”๋ผ๋„ ์ฟ ํ‚ค๋ฅผ ์œ ์ง€ํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด?
Permanent๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค

์ฟ ํ‚ค ์ƒ์„ฑ์‹œ Expires or Max-Age ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

1) Max-age : ํ˜„์žฌ ์‹œ๊ฐ„ ๊ธฐ์ค€์œผ๋กœ ์–ผ๋งˆ๋™์•ˆ ์ฟ ํ‚ค๋ฅผ ์œ ์ง€ํ• ์ง€ ์ง€์ •

2) Expires : ์ฟ ํ‚ค๊ฐ€ ๋งŒ๋ฃŒ๋  ๋‚ ์งœ ์ง€์ •

์ฟ ํ‚ค์˜ ๋ชฉ์ 

์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•ด ํŽ˜์ด์ง€ ์ด๋™ ์‹œ๋งˆ๋‹ค ๋กœ๊ทธ์ธ์„ ๋‹ค์‹œ ํ•  ํ•„์š”์—†์ด ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์œ ์ง€ํ• ์ˆ˜ ์žˆ๋‹ค.
์ฟ ํ‚ค๊ฐ€ ์—†๋‹ค๋ฉด ํ•ด๋‹น ์‚ฌ์šฉ์ž ์ •๋ณด ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํŽ˜์ด์ง€๋งˆ๋‹ค ๊ณ„์† ๋„˜๊ฒจ์ค˜์•ผ ํ• ๊ฒƒ์ด๋‹ค.

์ฟ ํ‚ค๊ฐ€ ์ด์šฉ๋˜๋Š” ์‚ฌ๋ก€ ์˜ˆ์‹œ
1. ID ์ •๋ณด ์ €์žฅ : ๋กœ๊ทธ์ธ ์ƒํƒœ ์œ ์ง€
2. ์ตœ๊ทผ ๊ฒ€์ƒ‰ํ•œ ์ •๋ณด ๊ด‘๊ณ  ์ถ”์ฒœ
3. ์‡ผํ•‘๋ชฐ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์ €์žฅ ๊ธฐ๋Šฅ
4. 3์ผ๊ฐ„, 7์ผ๊ฐ„ ๋“ฑ ์ผ์ • ๊ธฐ๊ฐ„ ๋‹ค์‹œ ๋ณด์ง€ ์•Š๊ธฐ ์ฒดํฌ(์ฟ ํ‚ค ๋‚ ์งœ ๊ธฐ๋ก ๊ณ„์‚ฐ)

์ฟ ํ‚ค ์ œ์–ด ์˜ต์…˜

  1. Secure : HTTPs ํ”„๋กœํ† ์ฝœ ์ƒ ์•”ํ˜ธํ™”๋œ ์š”์ฒญ์ผ ๊ฒฝ์šฐ ์ „์†ก
  2. HttpOnly : Cross-site ์Šคํฌ๋ฆฝํŠธ ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€. JavaScript์˜ document.cookie API ์ ‘๊ทผ ๋ถˆ๊ฐ€
  3. Domain : ์ฟ ํ‚ค๊ฐ€ ์ „์†ก๋˜๊ฒŒ ๋  ํ˜ธ์ŠคํŠธ ๋ช…์‹œ
  4. Path : ์ฟ ํ‚ค Header ์ „์†ก์„ ์œ„ํ•ด ์š”์ฒญ๋˜๋Š” URL ๊ฒฝ๋กœ
  5. SameSite : ์ฟ ํ‚ค๊ฐ€ cross-site ์š”์ฒญ๊ณผ ํ•จ๊ป˜ ์ „์†ก๋˜์ง€ ์•Š์Œ์„ ์š”๊ตฌ = ์œ„์กฐ ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋ณดํ˜ธ ๋ฐฉ๋ฒ•

์„ธ์…˜(Session)

์‚ฌ์šฉ์ž๋Š” ์ฟ ํ‚ค๋ฅผ ํ†ตํ•ด ๋กœ๊ทธ์ธ Id,pw๋ฅผ ์ฟ ํ‚ค์— ์ €์žฅํ•œ๋‹ค.
๋‹ค๋งŒ ์ด ์ฟ ํ‚ค๊ฐ€ ๋…ธ์ถœ๋˜๋ฉด ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์„ธ์…˜(Session)์ด ์กด์žฌํ•œ๋‹ค.

์„ธ์…˜์€ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฐ™์ด ์ธ์ฆ ์ •๋ณด๋ฅผ ์ฟ ํ‚ค์— ์ €์žฅํ•˜์ง€ ์•Š๊ณ ,
์‚ฌ์šฉ์ž์˜ ์‹๋ณ„์ž์ธ JSESSIONID๋กœ ์ €์žฅํ•œ๋‹ค.

์„œ๋ฒ„์—์„œ๋Š” ์ธ์ฆ ์ •๋ณด์™€ ๊ฐ™์ด ์ด ID์— ํ•ด๋‹นํ•˜๋Š” ๋กœ๊ทธ์ธ ์ƒํƒœ, ์‹œ๊ฐ„, ๋‹‰๋„ค์ž„, ๋งŒ๋ฃŒ๊ธฐํ•œ ๋“ฑ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.

์„œ๋ฒ„๋Š” ํ•ด๋‹น ์„ธ์…˜ ID๋กœ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ›จ์”ฌ ๋ณด์•ˆ์ƒ ์•ˆ์ „ํ•  ์ˆ˜ ์žˆ๋‹ค.

์„ธ์…˜ ๋™์ž‘ ์›๋ฆฌ

  1. ํด๋ผ์ด์–ธํŠธ -> ์„œ๋ฒ„
    Request ์š”์ฒญ
  2. ์„œ๋ฒ„ -> ํด๋ผ์ด์–ธํŠธ
    Session ID ์ฟ ํ‚ค ๊ฐ’ ์ฒดํฌ ํ›„ ์—†์„ ๊ฒฝ์šฐ ์ƒˆ๋กœ ์ƒ์„ฑํ•ด์„œ response
  3. ํด๋ผ์ด์–ธํŠธ๋Š” ์ „๋‹ฌ๋ฐ›์€ SessionID ๊ฐ’์„ ๋งค ์š”์ฒญ๋งˆ๋‹ค Header ์ฟ ํ‚ค์— ๋‹ด์•„์„œ ์ „๋‹ฌ
  4. ์„œ๋ฒ„๋Š” Session ID ๋กœ ์‚ฌ์šฉ์ž๋ฅผ ์‹๋ณ„
  5. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋กœ๊ทธ์ธ ์š”์ฒญ ์‹œ ์„œ๋ฒ„์—์„œ๋Š” session์„ ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž ์ •๋ณด๋กœ ๊ฐฑ์‹ ํ•˜๊ณ , ์ƒˆ๋กœ์šด Session ID๋ฅผ ๋ฐœ๊ธ‰ํ•˜์—ฌ ์‘๋‹ตํ•œ๋‹ค
  6. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ดํ›„์— ์‚ฌ์šฉ์ž์˜ session ID ์ฟ ํ‚ค๋ฅผ ์š”์ฒญ๊ณผ ํ•จ๊ป˜ ์ „๋‹ฌ, ์„œ๋ฒ„์—์„œ๋„ ํ•ด๋‹น ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž๋กœ ์‹๋ณ„

๐Ÿ“ฆ WebStorage

์›น์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ
Web Storage์˜ ๊ฐœ๋…์€ ํ‚ค/๊ฐ’ ์Œ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ํ‚ค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ํŒจํ„ด์ด๋‹ค.

Web Storage๋Š”
LocalStorage ์™€ SessionStorage ๋ฅผ ๋”ฐ๋กœ ๋‘์–ด ๋ฐ์ดํ„ฐ์˜ ์ง€์†์„ฑ์„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ
์ด ๋•Œ๋ฌธ์— ์‘์šฉ ํ™˜๊ฒฝ์— ๋งž๋Š” ์„ ํƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

Web storage๋Š” Cookie์™€ ๋งค์šฐ ์œ ์‚ฌํ•˜๋‹ค
์‚ฌ์‹ค ๊ฑฐ์˜ ์ฐจ์ด๊ฐ€ ์—†์ง€๋งŒ ๋ช‡ ๊ฐ€์ง€ ์ฟ ํ‚ค์˜ ๋‹จ์ ์„ ๊ทน๋ณตํ•˜๋Š” ๊ฐœ์„ ์ ์ด ๋„์ž…๋˜์—ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ฟ ํ‚ค๋Š” ์—ฌ์ „ํžˆ ์œ ํšจํ•˜๊ณ  ๊ฝค ์ ์ ˆํ•œ ํด๋ผ์ด์–ธํŠธ ์ €์žฅ๋„๊ตฌ์ž„์— ํ‹€๋ฆผ์—†๋‹ค. HTML5 ์—์„œ Web Storage ์ŠคํŽ™์„ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ–ˆ์ง€๋งŒ ์ฟ ํ‚ค๋ฅผ ๋ฐฐ์ œํ•œ๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹ˆ๋‹ค. HTML5 ์—์„œ๋„ ์—ฌ์ „ํžˆ ์ฟ ํ‚ค๋ฅผ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

๐Ÿช Cookie์™€ ๐Ÿ“ฆ WebStorage์˜ ์ฐจ์ด์ 

  1. ๋งค๋ฒˆ ์„œ๋ฒ„๋กœ ์ „์†ก vs ํด๋ผ์ด์–ธํŠธ์— ์กด์žฌ
    ์›น ์‚ฌ์ดํŠธ์—์„œ ์ฟ ํ‚ค๋ฅผ ์„ค์ •ํ•˜๋ฉด ์ดํ›„ ๋ชจ๋“  ์›น ์š”์ฒญ์€ ์ฟ ํ‚ค์ •๋ณด๋ฅผ ํฌํ•จํ•˜์—ฌ ์„œ๋ฒ„๋กœ ์ „์†ก๋œ๋‹ค.
    Web Storage๋Š” ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ํด๋ผ์ด์–ธํŠธ์— ์กด์žฌํ•  ๋ฟ ์„œ๋ฒ„๋กœ ์ „์†ก์€ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๋Š”๋‹ค. ์ด๋Š” ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ๋น„์šฉ์„ ์ค„์—ฌ ์ค€๋‹ค.

  2. ๋‹จ์ˆœ ๋ฌธ์ž์—ด vs ๊ฐ์ฒด
    Web Storage๋Š” ๋‹จ์ˆœ ๋ฌธ์ž์—ด์„ ๋„˜์–ด(์Šคํฌ๋ฆฝํŠธ) ๊ฐ์ฒด์ •๋ณด๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
    ๋ฌธ์ž์—ด ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ์ด์™ธ์— ์ฒด๊ณ„์ ์œผ๋กœ ๊ตฌ์กฐํ™”๋œ ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ ํŽธ์˜์„ฑ์„ ์ œ๊ณตํ•ด์ฃผ๋Š” ์ฃผ์š”ํ•œ ์žฅ์ ์ด ๋œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์˜ ์ง€์› ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ด ๋ด์•ผ ํ•˜๋Š” ํ•ญ๋ชฉ์ด๋‹ค.

  3. ์šฉ๋Ÿ‰์˜ ์ œํ•œ
    ์ฟ ํ‚ค๋Š” ๊ฐœ์ˆ˜์™€ ์šฉ๋Ÿ‰์— ์žˆ์–ด ์ œํ•œ์ด ์žˆ๋‹ค. ํ•˜๋‚˜์˜ ์‚ฌ์ดํŠธ์—์„œ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ฟ ํ‚ค ์ˆ˜๋Š” 20๊ฐœ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•˜๋‚˜์˜ ์‚ฌ์ดํŠธ์—์„œ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ฟ ํ‚ค ํฌ๊ธฐ๋Š” 4KB๋กœ ์ œํ•œ๋˜์–ด ์žˆ๋‹ค.
    ๊ทธ๋Ÿฌ๋‚˜ Web Storage์—๋Š” ์ด๋Ÿฌํ•œ ์ œํ•œ์ด ์—†๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ฟ ํ‚ค๋„ ํ•˜์œ„ํ‚ค๋ฅผ ์ด์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ์ œํ•œ์„ ์ผ๋ถ€ ํ•ด์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋Œ€๋ถ€๋ถ„ ์ฟ ํ‚ค์˜ ์ œํ•œ์œผ๋กœ๊นŒ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ผ์ด ์—†๋‹ค.

  4. ์˜๊ตฌ ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ธฐ๋Šฅ
    ์ฟ ํ‚ค๋Š” ๋งŒ๋ฃŒ์ผ์ž๋ฅผ ์ง€์ •ํ•˜๊ฒŒ ๋˜์–ด ์žˆ์–ด ์–ธ์  ๊ฐ€ ์ œ๊ฑฐ๋œ๋‹ค. ๋งŒ๋ฃŒ์ผ์ž๋กœ ์ง€์ •๋œ ๋‚ ์งœ์— ์ฟ ํ‚ค๋Š” ์ œ๊ฑฐ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๋งŒ์•ฝ ๋งŒ๋ฃŒ์ผ์ž๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์„ธ์…˜ ์ฟ ํ‚ค๊ฐ€ ๋œ๋‹ค. ๋งŒ์ผ ์˜๊ตฌ ์ฟ ํ‚ค๋ฅผ ์›ํ•œ๋‹ค๋ฉด ๋งŒ๋ฃŒ์ผ์ž๋ฅผ ๊ต‰์žฅํžˆ ๋ฉ€๊ฒŒ ์„ค์ •ํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
    WebStorage๋Š” ๋งŒ๋ฃŒ๊ธฐ๊ฐ„์˜ ์„ค์ •์ด ์—†๋‹ค. ์ฆ‰, ํ•œ๋ฒˆ ์ €์žฅํ•œ ๋ฐ์ดํ„ฐ๋Š” ์˜๊ตฌ์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

  • WebStorage์™€ ์ฟ ํ‚ค์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ WebStorage๊ฐ€ ํŠน๋ณ„ํžˆ ์ข‹์€ ์ด์œ ๋Š” ์—†๋‹ค๊ณ  ๋ด๋„ ๋ฌด๋ฐฉํ•˜๋‹ค. ๋‹ค๋งŒ ํ•œ๊ฐ€์ง€ ๋งค๋ฒˆ ์„œ๋ฒ„๋กœ ์ „์†ก๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ํŠน์ง•์€ ๊ฝค๋‚˜ ์œ ์šฉํ•˜๋‹ค.

LocalStorage์™€ SessionStorage

Web Storage๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง€์†์„ฑ๊ณผ ๊ด€๋ จํ•˜์—ฌ ๋‘ ๊ฐ€์ง€ ์šฉ๋„์˜ ์ €์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

์šฐ์„  ๊ธฐ๋ณธ์ ์œผ๋กœ Web Storage๋Š” ์ฟ ํ‚ค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‚ฌ์ดํŠธ์˜ ๋„๋ฉ”์ธ ๋‹จ์œ„๋กœ ์ ‘๊ทผ์ด ์ œํ•œ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, A ๋„๋ฉ”์ธ์—์„œ ์ €์žฅํ•œ ๋ฐ์ดํ„ฐ๋Š” B ๋„๋ฉ”์ธ์—์„œ ์กฐํšŒํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ณด์•ˆ ์ธก๋ฉด์—์„œ ๋‹น์—ฐํ•˜๋‹ค.

LocalStorage
์ €์žฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์šฐ์ง€ ์•Š๋Š” ์ด์ƒ ์˜๊ตฌ์ ์œผ๋กœ ๋ณด๊ด€์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์•ž์„œ ๋งํ•œ๋Œ€๋กœ ๋„๋ฉ”์ธ๋งˆ๋‹ค ๋ณ„๋„๋กœ ๋กœ์ปฌ ์Šคํ† ๋กœ์ง€๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. Windows ์ „์—ญ ๊ฐ์ฒด์˜ LocalStorage๋ผ๋Š” ์ปฌ๋ ‰์…˜์„ ํ†ตํ•ด ์ €์žฅ๊ณผ ์กฐํšŒ๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค.

SessionStorage
SessionStorage๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง€์†์„ฑ๊ณผ ์•ก์„ธ์Šค ๋ฒ”์œ„์— ํŠน์ˆ˜ํ•œ ์ œํ•œ์ด ์กด์žฌํ•œ๋‹ค. SessionStorage๋Š” windows ์ „์—ญ ๊ฐ์ฒด์˜ sessionStorage๋ผ๋Š” ์ปฌ๋ ‰์…˜์„ ํ†ตํ•ด ์ €์žฅ๊ณผ ์กฐํšŒ๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค.

๋ฐ์ดํ„ฐ ์œ ์ง€ ์ธก๋ฉด
SessionStorage๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ง€์†์ ์œผ๋กœ ๋ณด๊ด€๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋Š” ๋งˆ์น˜ ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ ์„ธ์…˜ ์ฟ ํ‚ค์™€ ๊ทธ ์„ฑ์งˆ์ด ๋น„์Šทํ•œ๋ฐ, ํ˜„์žฌ ํŽ˜์ด์ง€๊ฐ€ ๋ธŒ๋ผ์šฐ์ง•๋˜๊ณ  ์žˆ๋Š” ๋ธŒ๋ผ์šฐ์ € ์ปจํ…์ŠคํŠธ ๋‚ด์—์„œ๋งŒ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ง€๋œ๋‹ค.

LocalStorage๋Š” ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ข…๋ฃŒํ•ด๋„ ๋ฐ์ดํ„ฐ๋Š” ๋ณด๊ด€๋˜์–ด ๋‹ค์Œ๋ฒˆ ์ ‘์†์—๋„ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ฉด, SessionStorage๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ๋ฐ์ดํ„ฐ๋„ ๊ฐ™์ด ์ง€์›Œ์ง„๋‹ค. ์ฆ‰, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด SessionStorage๋„ ์‚ญ์ œ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๋ฐ์ดํ„ฐ ๋ฒ”์œ„ ์ธก๋ฉด
SessionStorage ์—ญ์‹œ Web Storage์˜ ๊ธฐ๋ณธ ๋ณด์•ˆ ์ฒ˜๋Ÿผ ๋„๋ฉ”์ธ๋ณ„๋กœ ๋ณ„๋„๋กœ ์ƒ์„ฑ๋œ๋‹ค. ์—ฌ๊ธฐ ๋”๋ถˆ์–ด SessionStorage๋Š” ๊ฐ™์€ ์‚ฌ์ดํŠธ์˜ ๊ฐ™์€ ๋„๋ฉ”์ธ์ด๋ผ ํ• ์ง€๋ผ๋„ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋‹ค๋ฅด๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ์˜์—ญ์ด ๋œ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ์ปจํ…์ŠคํŠธ๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ํƒญ ๋ธŒ๋ผ์šฐ์ง•์ด๋‚˜ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ•˜๋‚˜ ๋” ์‹คํ–‰ํ•ด์„œ ๊ฐ™์€ ํŽ˜์ด์ง€๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ, ์ด ๋‘ ํŽ˜์ด์ง€์˜ SessionStorage๋Š” ๊ฐ๊ฐ ๋ณ„๊ฐœ์˜ ์˜์—ญ์œผ๋กœ ์„œ๋กœ ์นจ๋ฒ”ํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ์ด๋Š” ๋„๋ฉ”์ธ๋งŒ ๊ฐ™์œผ๋ฉด ์ „์—ญ์ ์œผ๋กœ ๊ณต์œ  ๊ฐ€๋Šฅํ•œ LocalStorage์™€ ๊ตฌ๋ถ„๋˜๋Š” ํŠน์ง•์ด๋‹ค.

WebStorage์˜ ๋ณด์•ˆ์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์˜ ๋ฐ์ดํ„ฐ ์นจ๋ฒ”์„ ๋ง‰๊ณ ๋Š” ์žˆ์ง€๋งŒ ํด๋ผ์ด์–ธํŠธ, ์ฆ‰ ์‚ฌ์šฉ์ž๋ฅผ ๋ง‰๊ณ  ์žˆ์ง€๋Š” ์•Š๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์–ผ๋งˆ๋“ ์ง€ ์ €์žฅ๋œ ๊ฐ’์„ ์ž„์˜๋กœ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๊ฒƒ์€ ์ฟ ํ‚ค์™€ ๋™์ผํ•œ ๊ฐœ๋…์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ์ฟ ํ‚ค์— ๋น„ํ•ด ๋ณ„๋‹ค๋ฅธ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ๋” ๊ฐ€์ง„ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ์ž๋Š” ์‚ฌ์šฉ์ž์— ์˜ํ•œ ์ด๋Ÿฌํ•œ ์ž„์˜ ๋ณ€๊ฒฝ์— ํ•ญ์ƒ ์˜ˆ์˜ ์ฃผ์‹œํ•˜๊ณ  ๋ฐฉ์–ด ์ฝ”๋“œ์˜ ์ž‘์„ฑ์„ ์žŠ์ง€ ๋ง์•„์•ผ ํ•œ๋‹ค.

Reference

SessionStorage ์™€ LocalStorage ์ฐจ์ด์ 
์›น ๋ธŒ๋ผ์šฐ์ € ์ฟ ํ‚ค๋ž€?

profile
๊ฐœ๋ฐœ ๊ณต๋ถ€์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€