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

[Spring Boot] ์ฟ ํ‚ค๋ž€? Cookie ๐Ÿช

by ์šฐ์ฃผ๋ฌผ๊ณ ๊ธฐ 2025. 5. 7.
๋ฐ˜์‘ํ˜•

์ฟ ํ‚ค๋ž€?

 

์ฟ ํ‚ค๋Š”, ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ค ์‚ฌ์ดํŠธ ๋ฐฉ๋ฌธ ํ–ˆ์„ ๋•Œ,

ํ•ด๋‹น ์‚ฌ์ดํŠธ ์„œ๋ฒ„์—์„œ ๋‚ด ๋กœ์ปฌ ํ™˜๊ฒฝ์— ์ €์žฅํ•˜๋Š” ์ž‘์€ ๋ฐ์ดํ„ฐ์ž„.

ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์— ์ €์žฅ๋จ.

 

 

์ด ์ฟ ํ‚ค ๋•๋ถ„์—, ์˜ˆ์ „์— ๋ฐฉ๋ฌธํ•œ ์  ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๊ณ 

์ด์ „์— ๋กœ๊ทธ์ธํ–ˆ๋˜ ์ด๋ ฅ์ด ์žˆ์œผ๋ฉด ๋กœ๊ทธ์ธ ์ •๋ณด๋„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋Š”๊ฑฐ์ž„.

 

์ฟ ํ‚ค๋Š” ํ‚ค-๊ฐ’ ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Œ.

๋งŒ๋ฃŒ๊ธฐ๊ฐ„, ๋„๋ฉ”์ธ ๋“ฑ ์ •๋ณด ๊ฐ–๊ณ  ์žˆ์Œ

ex

sessionId

access_token(JWT ์—‘์„ธ์Šค ํ† ํฐ)

theme = dark

cartId = xyz123

์ด๋Ÿฐ์• ๋“ค...

 

์‹ค์ œ๋กœ๋Š” HTTP ์š”์ฒญ ํ—ค๋”์— ํฌํ•จ๋˜์–ด ์„œ๋ฒ„๋กœ ๊ฐ.

 

HTTP ์š”์ฒญ ํ†ตํ•ด์„œ ์ฟ ํ‚ค์˜ ํŠน์ • ํ‚ค์— ๊ฐ’ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ.

 

 

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ ์ •๋ณด ์š”์ฒญํ•˜๋ฉด,

์„œ๋ฒ„์—์„œ ๊ทธ ์ •๋ณด๋ฅผ ๊ฐ’์œผ๋กœ ๋„ฃ์€ ์ฟ ํ‚ค๋ฅผ ๋งŒ๋“ฆ.

๊ทธ๋Ÿฌ๊ณ  HTTP ํ—ค๋”์™€ ํ•จ๊ป˜ ๋Œ๋ ค๋ณด๋ƒ„.

(Set-Cookie ํ—ค๋”๋กœ ๋‚ด๋ ค์คŒ)

 

์˜ˆ์‹œ ์‘๋‹ต ํ—ค๋”:

Set-Cookie: loginToken=abc123; Path=/; Max-Age=3600

 

๊ทธ๋Ÿฌ๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ๋กœ์ปฌ(๋ธŒ๋ผ์šฐ์ €)์— ์ฟ ํ‚ค๋ฅผ ์ €์žฅ.

 

์ดํ›„์— ์žฌ๋ฐฉ๋ฌธ ํ•˜๋ฉด, ๋กœ์ปฌ์— ์žˆ๋Š” ์ฟ ํ‚ค์™€ ํ•จ๊ป˜ ์„œ๋ฒ„์— ์š”์ฒญํ•จ.

 

 

 


์ฟ ํ‚ค๋Š” ์™œ ์“ธ๊นŒ?

1. ๋กœ๊ทธ์ธ ์ƒํƒœ ์œ ์ง€

์„œ๋ฒ„๊ฐ€ loginToken=abc123 ์ด๋ผ๊ณ  ์ฟ ํ‚ค๋ฅผ ์ฃผ๋ฉด,

๋ธŒ๋ผ์šฐ์ €๋Š” ๋‹ค์Œ ์š”์ฒญ๋งˆ๋‹ค ์ฟ ํ‚ค์— loginToken=abc123์„ ์‹ค์–ด์„œ ๋ณด๋ƒ„

 

 

2. ์„ธ์…˜ ์—ฐ๊ฒฐ

์„œ๋ฒ„๋Š” ์„ธ์…˜ ID๋ฅผ ์ฟ ํ‚ค์— ๋„ฃ๊ณ ,

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ด๋Š” ์ฟ ํ‚ค๋กœ ์‚ฌ์šฉ์ž๋ฅผ ๊ตฌ๋ถ„ํ•จ

 

 

3. ๋ณด์•ˆ ํ† ํฐ ์ €์žฅ(JWT)

ํด๋ผ์ด์–ธํŠธ ์Šคํ† ๋ฆฌ์ง€ ๋ง๊ณ , ์ฟ ํ‚ค์— ์ €์žฅํ•ด์„œ ์ „๋‹ฌ.

 

 

 

 

๋ฐ˜์‘ํ˜•