๐Ÿ“€ Cookie , Storage

๋ฐ•ํ–„์ฐŒยท2023๋…„ 8์›” 2์ผ
0

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

๋ชฉ๋ก ๋ณด๊ธฐ
12/18

Cookie(์ฟ ํ‚ค)

  • ๋„๋ฉ”์ธ ๋‹จ์œ„๋กœ ์ €์žฅ
  • ํ‘œ์ค€์•ˆ ๊ธฐ์ค€, ์‚ฌ์ดํŠธ๋‹น ์ตœ๋Œ€20๊ฐœ ๋ฐ 4KB๋กœ ์ œํ•œ
  • ์˜๊ตฌ ์ €์žฅ ๋ถˆ๊ฐ€๋Šฅ
    domain : ์œ ํšจ ๋„๋ฉ”์ธ ์„ค์ • (๋„๋ฉ”์ธ์ด ๋งž์ง€ ์•Š์œผ๋ฉด ์ฟ ํ‚ค๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š๋Š”๋‹ค.)
    path : ์œ ํšจ ๊ฒฝ๋กœ ์„ค์ •
    expires : ๋งŒ๋ฃŒ ๋‚ ์งœ(UTC Date) ์„ค์ •
    max-age : ๋งŒ๋ฃŒ ํƒ€์ด๋จธ(s) ์„ค์ •
  • ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์ฟ ํ‚ค์˜ ์ •๋ณด๋„ ์ข…๋ฃŒ๋œ๋‹ค.
document.cookie = 'a=1; domain=localhost; path=/abc'
document.cookie = 'b=2; max-age=3' //3์ดˆ
document.cookie = `c=3; max-age=${60 * 60 *24}`
document.cookie = `c=4; expires=${new Date(2022,0,16).toUTCString()}` //22๋…„1์›” 16์ผ๊นŒ์ง€ ๊ธฐํ•œ ์ง€์ •
document.cookie = 'b=6;' //๋ฎ์–ด์“ฐ๋Š”๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

console.log(document.cookie);

function getCookie(name){
	const cookie = document.cookie
    .split('; ')
    .find(cookie => cookie.split('=')[0] === name)
    return cookie ? cookie.split('=')[1] : null
}

console.log(getCookie('b'));

Storage

๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌธ์ž ๋ฐ์ดํ„ฐ๋กœ ์ €์žฅ๋œ๋‹ค

  • ๋„๋ฉ”์ธ ๋‹จ์œ„๋กœ ์ €์žฅ๋œ๋‹ค.
  • 5MB ๋กœ ์ œํ•œ
  • ์„ธ์…˜ ํ˜น์€ ์˜๊ตฌ ์ €์žฅ ๊ฐ€๋Šฅ

sessionStorage : ๋ธŒ๋ผ์šฐ์ € ์„ธ์…˜์ด ์œ ์ง€๋˜๋Š” ๋™์•ˆ์—๋งŒ ๋ฐ์ดํ„ฐ ์ €์žฅ
localStorage : ๋”ฐ๋กœ ์ œ๊ฑฐํ•˜์ง€ ์•Š์œผ๋ฉด ์˜๊ตฌ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ์ €์žฅ


.getItem() : ๋ฐ์ดํ„ฐ ์กฐํšŒ
.setItem() : ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
.removeItem() : ๋ฐ์ดํ„ฐ ์ œ๊ฑฐ
.clear() : ์Šคํ† ๋ฆฌ์ง€ ์ดˆ๊ธฐํ™”


localStorage.setItem(์ด๋ฆ„,๋ฐ์ดํ„ฐ)
localStorage.setItem('a',JSON.stringify('Hello world!')) //JSON ์€ ์ž‘์€ ๋”ฐ์›€ํ‘œ๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ณ  ํฐ ๋”ฐ์›€ํ‘œ๋งŒ ํ—ˆ์šฉํ•œ๋‹ค.
//localStorage.setItem('b','{x:1,y:2}') //๊ทธ๋ž˜์„œ ๊ฐ์ฒด ๋ฐ์ดํ„ฐ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์ œ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค.
localStorage.setItem('b',JSON.stringify({x:1,y:2}))
localStorage.setItem('c',JSON.stringify(123))

console.log(JSON.parse(localStorage.getItem('a')))
//console.log(localStorage.getItem('b')) //{"x":1,"y":2} json๋ฌธ์ž๋กœ ์ €์žฅ๋œ๊ฒƒ์„ ํ™•์ธํ• ์ˆ˜ ์žˆ๋‹ค.
console.log(JSON.parse(localStorage.getItem('b')))
console.log(localStorage.getItem('c')) //๋ฌธ์ž๋ฐ์ดํ„ฐ 123 ์ด ์ถœ๋ ฅ๋œ๋‹ค.
console.log(JSON.parse(localStorage.getItem('c')))//์ˆซ์ž๋ฐ์ดํ„ฐ 123 ์ด ์ถœ๋ ฅ๋œ๋‹ค.

localStorage.removeItem('a');
localStorage.clear();
sessionStorage.removeItem('a');

์Šคํ† ๋ฆฌ์ง€์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๊ฐ€์ง€๊ณ  ์˜ฌ๋•Œ๋Š” ํ•ญ์ƒ JSON์˜ stringify() ๋ฉ”์„œ๋“œ๋‚˜ parse() ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.

  • ์ฟ ํ‚ค๋Š” ์‚ฌ์ดํŠธ ๋ฐฐ๋„ˆํ•˜๋‹จ์— ํ•˜๋ฃจ๋™์•ˆ ์—ด์ง€ ์•Š๊ธฐ ๊ฐ™์€ ํŠน์ • ๋ฒ„ํŠผ์„ ๋งŒ๋“ค๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์Šคํ† ๋ฆฌ์ง€๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ค๊ณ  ์‚ญ์ œํ•˜๋Š”๊ฒƒ์ด ์ฟ ํ‚ค๋ณด๋‹ค ํ›จ์‹  ๋” ํŽธํ•˜๊ณ  ์šฉ๋Ÿ‰๋„ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡๊ฒŒ ๋งŒ๋ฃŒ๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹Œ ๊ทธ์™ธ ์ผ๋ฐ˜์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹์Šต๋‹ˆ๋‹ค.
profile
๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ์‹ถ์–ด์š”

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

Powered by GraphCDN, the GraphQL CDN