๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

WEB

[ WEB ] Web Storage์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ.

 

 

Web Storage API๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ‚ค/๊ฐ’ ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๊ฐ์ฒด์™€ ๋น„์Šทํ•˜๋‹ค. ์ด ๋ฐ์ดํ„ฐ๋“ค์€ ํŽ˜์ด์ง€ ๋กœ๋”ฉ์—๋„ ์˜จ์ „ํ•˜๊ฒŒ ์œ ์ง€๊ฐ€ ๋˜๊ณ  key์™€ value๋Š” ํ•ญ์ƒ ๋ฌธ์ž์—ด์ด๋‹ค.(์ •์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ string์œผ๋กœ ๋ณ€๊ฒฝ๋จ. ์ž์Šค์˜ ๊ฐ์ฒด ๋™์ž‘ ๋ฐฉ์‹๊ณผ ์œ ์‚ฌ.) ์ฟ ํ‚ค๋ณด๋‹ค ํ›จ์”ฌ ์ง๊ด€์ ์œผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค.

 

 

 

 

Web Storage ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ๋ฒ•

Web Storage๋Š” sessionStorage์™€ LocalStorage์˜ ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ์œผ๋ฉฐ, Window.sessionStorage์™€ Window.localStorage ์†์„ฑ์„ ํ†ตํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ์†์„ฑ์ค‘ ํ•˜๋‚˜์— ์ ‘๊ทผํ•˜๋ฉด Storage ๊ฐ์ฒด์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๊ณ , ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€, ํšŒ์ˆ˜, ์ œ๊ฑฐ ํ•  ์ˆ˜ ์žˆ๋‹ค.๋‘ ๊ฐ€์ง€ ์†์„ฑ์˜ Storage ๊ฐ์ฒด๋Š” ๊ฐ๊ฐ์˜ ์ถœ์ฒ˜๋ณ„๋กœ ๋‹ค๋ฅธ ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋ฉฐ ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

 

 

1. sessionStorage 

๊ฐ๊ฐ์˜ ์ถœ์ฒ˜์— ๋Œ€ํ•ด ๋…๋ฆฝ์ ์ธ ์ €์žฅ ๊ณต๊ฐ„์„ ํŽ˜์ด์ง€ ์„ธ์…˜์ด ์œ ์ง€๋˜๋Š” ๋™์•ˆ(๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์—ด๋ ค์žˆ๋Š” ๋™์•ˆ) ์ œ๊ณตํ•œ๋‹ค.

  1. ์„ธ์…˜์— ํ•œ์ •ํ•˜์—ฌ(์ฆ‰ ๋ธŒ๋ผ์šฐ์ € ๋˜๋Š” ํƒญ์ด ๋‹ซํž ๋•Œ๊นŒ์ง€๋งŒ) ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.
  2. ๋ฐ์ดํ„ฐ๋ฅผ ์ ˆ๋Œ€ ์„œ๋ฒ„๋กœ ์ „์†กํ•˜์ง€ ์•Š๋Š”๋‹ค. (์ฟ ํ‚ค์™€์˜ ์ฐจ์ด์ )
  3. ์ €์žฅ ๊ณต๊ฐ„์ด ์ฟ ํ‚ค๋ณด๋‹ค ํฌ๋‹ค. (์ตœ๋Œ€ 5MB)

 

 

 

2. localSorage

localStorage๋„ sessionStorage์™€ ๊ฐ™์ง€๋งŒ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ซ์•˜๋‹ค ์—ด์–ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚จ์•„์žˆ๋‹ค.

  1. ์œ ํšจ๊ธฐ๊ฐ„ ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , JavaScript๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ ๋˜๋Š” ๋กœ์ปฌ ์ €์žฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์›Œ์•ผ๋งŒ ์‚ฌ๋ผ์ง„๋‹ค.
  2. ์ €์žฅ ๊ณต๊ฐ„์ด ์ฟ ํ‚ค์™€ sessionStorage๋ณด๋‹ค ํฌ๋‹ค.

 

 

 

 

 

๋‘ ์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด๋Š” ๋™์ผํ•œ ๋ฉ”์„œ๋“œ์™€ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

  • setItem(key, value) – ํ‚ค-๊ฐ’ ์Œ์„ ๋ณด๊ด€ํ•œ๋‹ค.
  • getItem(key) – ํ‚ค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๋ฐ›์•„์˜จ๋‹ค.
  • removeItem(key) – ํ‚ค์™€ ํ•ด๋‹น ๊ฐ’์„ ์‚ญ์ œํ•œ๋‹ค.
  • clear() – ๋ชจ๋“  ๊ฒƒ์„ ์‚ญ์ œํ•œ๋‹ค.
  • key(index) – ์ธ๋ฑ์Šค(index)์— ํ•ด๋‹นํ•˜๋Š” ํ‚ค๋ฅผ ๋ฐ›์•„์˜จ๋‹ค.
  • length – ์ €์žฅ๋œ ํ•ญ๋ชฉ์˜ ๊ฐœ์ˆ˜๋ฅผ ์–ป๋Š”๋‹ค.

 

 

** ๋‘ ์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด๋Š” Map๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ setItem/getItem/removeItem์„ ์ง€์›ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ํ‚ค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ (key(index))์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

 

 

 

 

 

 

์ฟ ํ‚ค์™€ ์›น ์Šคํ† ๋ฆฌ์ง€์˜ ์ฐจ์ด์ 

-> ์ฟ ํ‚ค์™€์˜ ์ฐจ์ด์ ์€ ์›น ์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด๋Š” ๋„คํŠธ์›Œํฌ ์š”์ฒญ ์‹œ ์„œ๋ฒ„๋กœ ์ „์†ก๋˜์ง€ ์•Š์Œ. ๊ทธ๋ž˜์„œ ์ฟ ํ‚ค๋ณด๋‹ค ๋” ๋งŽ์€ ์ž๋ฃŒ๋ฅผ ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 ์ฟ ํ‚ค์™€ ๋˜ ๋‹ค๋ฅธ ์ ์€ ์„œ๋ฒ„๊ฐ€ HTTP ํ—ค๋”๋ฅผ ํ†ตํ•ด ์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ. ์›น ์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด ์กฐ์ž‘์€ ๋ชจ๋‘ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์—์„œ ์ˆ˜ํ–‰๋œ๋‹ค. ์›น ์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด๋Š” ๋„๋ฉ”์ธ,ํ”„๋กœํ† ์ฝœ,ํฌํŠธ๋กœ ์ •์˜๋˜๋Š” ์˜ค๋ฆฌ์ง„(origin)์— ๋ฌถ์—ฌ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœํ† ์ฝœ๊ณผ ์„œ๋ธŒ ๋„๋ฉ”์ธ์ด ๋‹ค๋ฅด๋ฉด ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค.

 

 

 

 

 

 

๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ

Window.localStorage ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ

 

 

Window.sessionStorage ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ

 

 

 

 


 

 

๐ŸŒธ ์ถœ์ฒ˜ ๐ŸŒธ

 

Web Storage API - MDN

Storage - MDN

Session Storage - MDN

https://ko.javascript.info/localstorage