๐Ÿช ์ฟ ํ‚ค(Cookie)

์–ธ์ง€ยท2025๋…„ 4์›” 8์ผ

๐Ÿช ์ฟ ํ‚ค(Cookie)๋ž€?

๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ๋˜๋Š” ์ž‘์€ ํฌ๊ธฐ์˜ ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค.
์›น ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €) ๊ฐ„์˜ ์ƒํƒœ ์œ ์ง€๋ฅผ ์œ„ํ•œ ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“ ์ฟ ํ‚ค ์šฉ๋„

โ€ข ๋กœ๊ทธ์ธ ์œ ์ง€ (์ž๋™ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ)
โ€ข ์‚ฌ์šฉ์ž ๋งž์ถค ์„ค์ • ์ €์žฅ (๋‹คํฌ๋ชจ๋“œ ๋“ฑ)
โ€ข ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์ •๋ณด ์œ ์ง€
โ€ข ๋ฐฉ๋ฌธ ํšŸ์ˆ˜ ๊ธฐ๋ก


๐Ÿงพ ์ฟ ํ‚ค ๊ตฌ์„ฑ ์š”์†Œ

์†์„ฑ์„ค๋ช…
Name์ฟ ํ‚ค์˜ ํ‚ค (์˜ˆ: user)
Value์ฟ ํ‚ค์˜ ๊ฐ’ (์˜ˆ: wonji)
Domain์ฟ ํ‚ค๊ฐ€ ์œ ํšจํ•œ ๋„๋ฉ”์ธ
Path์ฟ ํ‚ค๊ฐ€ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๊ฒฝ๋กœ
Expires / Max-Age์ฟ ํ‚ค์˜ ๋งŒ๋ฃŒ์ผ / ์œ ํšจ ๊ธฐ๊ฐ„
HttpOnly์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ ‘๊ทผ ๋ถˆ๊ฐ€๋Šฅ, ๋ณด์•ˆ ๊ฐ•ํ™”์šฉ
SecureHTTPS ํ™˜๊ฒฝ์—์„œ๋งŒ ์ „์†ก ๊ฐ€๋Šฅ


โœ๏ธ ์ฟ ํ‚ค ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

1๏ธโƒฃ ์ฟ ํ‚ค ์“ฐ๊ธฐ

๐Ÿ”น ํด๋ผ์ด์–ธํŠธ ์ธก ์ฟ ํ‚ค ์ƒ์„ฑ (JavaScript)

document.cookie = "name=wonji; path=/; max-age=3600";

๐Ÿ”น ์„œ๋ฒ„ ์ธก ์ฟ ํ‚ค ์ƒ์„ฑ (์˜ˆ์‹œ)

response.setHeader("Set-Cookie", "name=wonji; path=/; max-age=3600");

์„œ๋ฒ„์—์„œ Set-Cookie ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์— ์ฟ ํ‚ค ์ „์†ก

๐Ÿ” ์ฟ ํ‚ค ์ ‘๊ทผ (์ฝ๊ธฐ)

document.cookie

ํ˜„์žฌ ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์ฟ ํ‚ค๋ฅผ ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

โŒ ์ฟ ํ‚ค ์‚ญ์ œ

// ์ฟ ํ‚ค ๋งŒ๋ฃŒ์‹œ์ผœ์„œ ์‚ญ์ œ
document.cookie = "max-age=0"

max-age=0 ๋˜๋Š” expires=๊ณผ๊ฑฐ ๋‚ ์งœ๋กœ ์„ค์ •ํ•˜๋ฉด ํ•ด๋‹น ์ฟ ํ‚ค ์‚ญ์ œ๋จ

๐Ÿ“ค ์ฟ ํ‚ค ์ „์†ก (์š”์ฒญ ์‹œ ํฌํ•จ)

// ์ฟ ํ‚ค๋ฅผ ํฌํ•จํ•˜์—ฌ ์„œ๋ฒ„์— ์š”์ฒญ ์ „์†ก
fetch(URL,{
  credentials : 'include';
});

credentials: 'include' ์„ค์ • ์‹œ, ์ฟ ํ‚ค๋ฅผ ์š”์ฒญ ํ—ค๋”์— ์ž๋™์œผ๋กœ ํฌํ•จ


๐Ÿ“ ์ฟ ํ‚ค vs ์„ธ์…˜ ์ฐจ์ด์ 

ํ•ญ๋ชฉ์ฟ ํ‚ค (Cookie)์„ธ์…˜ (Session)
์ €์žฅ ์œ„์น˜ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์„œ๋ฒ„
๋ณด์•ˆ์„ฑ๋‚ฎ์Œ (๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ๋˜๋ฏ€๋กœ ๋…ธ์ถœ ์œ„ํ—˜ ์žˆ์Œ)๋น„๊ต์  ๋†’์Œ (์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌ)
๋งŒ๋ฃŒ ์‹œ์ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„ค์ •ํ•œ expires / max-age ๊ธฐ์ค€์„œ๋ฒ„์—์„œ ์„ค์ •ํ•œ ์‹œ๊ฐ„ ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ € ์ข…๋ฃŒ ์‹œ
์ €์žฅ ์šฉ๋Ÿ‰์•ฝ 4KB ์ œํ•œ์šฉ๋Ÿ‰ ์ œํ•œ ์—†์Œ (์„œ๋ฒ„ ์šฉ๋Ÿ‰์— ๋”ฐ๋ผ ๋‹ค๋ฆ„)
์†๋„์„œ๋ฒ„์— ์ ‘๊ทผํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋น ๋ฆ„์„œ๋ฒ„์— ์ ‘๊ทผํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋น„๊ต์  ๋А๋ฆผ
์‚ฌ์šฉ ๋ชฉ์ ๋กœ๊ทธ์ธ ์œ ์ง€, ์‚ฌ์šฉ์ž ์„ค์ •, ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋“ฑ๋กœ๊ทธ์ธ ์ƒํƒœ ์œ ์ง€, ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์ €์žฅ ๋“ฑ
์œ ์ง€ ๋ฐฉ์‹ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ชจ๋“  ์š”์ฒญ์— ์ฟ ํ‚ค๋ฅผ ์ž๋™ ์ „์†กํด๋ผ์ด์–ธํŠธ๋Š” ์„ธ์…˜ ID๋งŒ ์ €์žฅํ•˜๊ณ  ์„œ๋ฒ„๊ฐ€ ๋ฐ์ดํ„ฐ ๋ณด๊ด€

๐Ÿ’ก ์ผ๋ฐ˜์ ์œผ๋กœ ๋ณด์•ˆ์ด ์ค‘์š”ํ•œ ์ •๋ณด๋Š” ์„ธ์…˜,
๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ์ž ์„ค์ • ์ •๋ณด๋Š” ์ฟ ํ‚ค์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

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

comment-user-thumbnail
2025๋…„ 4์›” 14์ผ

๋‚ด๊ฐ€ ๋งŒ๋“  ์ฟ ํ‚ค~

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ