์ฟ ํ‚ค ๐Ÿช

์ฟ ํ‚ค ๐Ÿช

๋ชฉ์ฐจ

ํ˜„๋Œ€์˜ ์›น ์‚ฌ์ดํŠธ๋“ค์€ ๊ฐœ์ธํ™”๋œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์‹ถ์–ด ํ•œ๋‹ค.
๊ฐœ์ธํ™”๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

  • ๊ฐœ๋ณ„ ์ธ์‚ฌ / ์‚ฌ์šฉ์ž ๋งž์ถค ์ถ”์ฒœ / ์ €์žฅ๋œ ์‚ฌ์šฉ์ž ์ •๋ณด
  • ์„ธ์…˜ ์ถ”์ : ์›น์‚ฌ์ดํŠธ๋Š” ๊ฐ ์‚ฌ์šฉ์ž์—๊ฒŒ์„œ ์˜ค๋Š” HTTP ํŠธ๋žœ์žญ์…˜์„ ์‹๋ณ„ํ•  ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๋‹ค.
  1. ์‚ฌ์šฉ์ž ์‹๋ณ„ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๋Š” HTTP ํ—ค๋”
  2. IP ์ฃผ์†Œ๋กœ ์‚ฌ์šฉ์ž๋ฅผ ์‹๋ณ„
  3. ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ ์ธ์ฆ์„ ํ†ตํ•œ ์‚ฌ์šฉ์ž ์‹๋ณ„
  4. URL์— ์‹๋ณ„์ž๋ฅผ ํฌํ•จํ•˜๋Š” ๋šฑ๋šฑํ•œ URL
  5. ์‹๋ณ„ ์ •๋ณด๋ฅผ ์ง€์†ํ•ด์„œ ์œ ์ง€ํ•˜๋Š” ์ฟ ํ‚ค

์ฟ ํ‚ค ๐Ÿช

  • ์ฟ ๊ธฐ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ์„ธ์…˜์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ์‹ ์ค‘ ํ˜„์žฌ๊นŒ์ง€ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
  • ์ฟ ํ‚ค๋Š” ๋„ท์Šค์ผ€์ดํ”„๊ฐ€ ์ตœ์ดˆ๋กœ ๊ฐœ๋ฐœํ–ˆ์ง€๋งŒ, ์ง€๊ธˆ์€ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์›ํ•œ๋‹ค.
  • ์ฟ ํ‚ค๋Š” ์บ์‹œ์™€ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์–ด์„œ, ๋Œ€๋ถ€๋ถ„์˜ ์บ์‹œ๋‚˜ ๋ธŒ๋ผ์šฐ์ €๋Š” ์ฟ ํ‚ค์— ์žˆ๋Š” ๋‚ด์šฉ๋ฌผ์„ ์บ์‹ฑ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

1. ๐Ÿ’โ€โ™€๏ธ ์ฟ ํ‚ค์˜ ํƒ€์ž… type

์ถœ์ฒ˜

  • ์„ธ์…˜ ์ฟ ํ‚ค์™€ ์ง€์† ์ฟ ํ‚ค์˜ ์ฐจ์ด์ ์€ ํŒŒ๊ธฐ๋˜๋Š” ์‹œ์ ๋ฟ์ด๋‹ค.
  • ์ฟ ํ‚ค๋Š” Discard ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ๊ฑฐ๋‚˜,
    Expires, Max-Age๊ฐ™์€ ํŒŒ๊ธฐ๋˜๊ธฐ๊นŒ์ง€์˜ ๋‚จ์€ ์‹œ๊ฐ„์„ ํ‘œํ˜„ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—†์œผ๋ฉด ์„ธ์…˜ ์ฟ ํ‚ค๊ฐ€ ๋œ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์ดํŠธ๋ฅผ ํƒ์ƒ‰ํ•  ๋•Œ,
    ๊ด€๋ จํ•œ ์„ค์ •๊ณผ ์„ ํ˜ธ ์‚ฌํ•ญ๋“ค์„ ์ €์žฅํ•˜๋Š” ์ž„์‹œ ์ฟ ํ‚ค๋‹ค.
  • ์„ธ์…˜ ์ฟ ํ‚ค๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ซ์œผ๋ฉด ์‚ญ์ œ๋œ๋‹ค.
  • ์‚ญ์ œ๋˜์ง€ ์•Š๊ณ  ๋” ๊ธธ๊ฒŒ ์œ ์ง€๋  ์ˆ˜ ์žˆ๋‹ค.
  • ์ง€์† ์ฟ ํ‚ค๋Š” ๋””์Šคํฌ์— ์ €์žฅ๋˜์–ด, ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ซ๊ฑฐ๋‚˜ ์ปดํ“จํ„ฐ๋ฅผ ์žฌ์‹œ์ž‘ํ•˜๋”๋ผ๋„ ๋‚จ์•„์žˆ๋‹ค.
  • ์ง€์† ์ฟ ํ‚ค๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฐฉ๋ฌธํ•˜๋Š” ์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ
    ์„ค์ • ์ •๋ณด๋‚˜ ๋กœ๊ทธ์ธ ์ด๋ฆ„์„ ์œ ์ง€ํ•˜๋ ค๊ณ  ์‚ฌ์šฉํ•œ๋‹ค.
  • ์•”ํ˜ธํ™”๋œ ์—ฐ๊ฒฐ HTTPS๋กœ๋งŒ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Secure ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ์ƒ์„ฑํ•˜๋ฉฐ,
    HTTPS๋กœ ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฟ ํ‚ค๋ฅผ ์—ด์–ด๋ณด๋Š” ๊ฑธ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ™์€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ API๋ฅผ ํ†ตํ•ด ์ ‘์†ํ•  ์ˆ˜ ์—†๋Š” ์ฟ ํ‚ค์ด๋ฉฐ, XSS ์œ„ํ˜‘์„ ์—†์• ์ค€๋‹ค.
  • cross-site tracing(XST)์™€
    cross-site request forgery(XSRF) ๊ณต๊ฒฉ์— ๊ณต๊ฒฉ๋ฐ›๊ธฐ ์‰ฝ๋‹ค.
  • HttpOnly ํ”Œ๋ž˜๊ทธ๋ฅผ ์ฟ ํ‚ค์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ƒ์„ฑํ•œ๋‹ค.
  • ๊ตฌ๊ธ€ ํฌ๋กฌ ๋ฒ„์ „ 51์—์„œ ์ƒˆ๋กœ ์†Œ๊ฐœ๋œ ์ฟ ํ‚ค์ด๋‹ค.
  • ์ฟ ํ‚ค๋ฅผ ์ƒ์„ฑํ•œ ๋„๋ฉ”์ธ๊ณผ ๊ฐ™์€ ์ถœ์ฒ˜์ผ ๋•Œ๋งŒ ์ฟ ํ‚ค๋ฅผ ์ „์†กํ•œ๋‹ค.
  • ํ˜„์žฌ ๋ฐฉ๋ฌธํ•˜๊ณ  ์žˆ๋Š” ์‚ฌ์ดํŠธ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ์˜ ์ฟ ํ‚ค
  • ๊ด‘๊ณ ์™€ ๊ฐ™์€ ์™ธ๋ถ€ ์›น์‚ฌ์ดํŠธ์˜ ์ปจํ…์ธ ๊ฐ€ ์žˆ์„ ๋•Œ ์ƒ์„ฑ๋˜๋ฉฐ
    ์ด ์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๋ฅผ ์ถ”์ ํ•˜๊ณ , ๊ด‘๊ณ ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์ฟ ํ‚ค์— ๋Œ€ํ•œ ์ข€ ๋” ๊ธ‰์ง„์ ์ธ ํ•ด๊ฒฐ์ฑ…์€
    ์‚ญ์ œ ์ดํ›„์— ๋‹ค์‹œ ์ƒ์„ฑ๋˜๋Š” ์ข€๋น„ ์ฟ ํ‚ค ํ˜น์€ โ€œEvercookiesโ€
  • ์˜๋„์ ์œผ๋กœ ์˜์›ํžˆ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ค์šด ์ฟ ํ‚ค์ด๋‹ค.
  • ๊ทธ๋“ค์€ ์ฟ ํ‚ค๊ฐ€ ์กด์žฌ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ๊ทธ๋“ค ์ž์‹ ์„ ๋‹ค์‹œ ๋งŒ๋“ค์–ด๋‚ด๊ธฐ ์œ„ํ•ด ์›น ์Šคํ† ๋ฆฌ์ง€ API, Flash ๋กœ์ปฌ ๊ณต์œ  ๊ฐ์ฒด ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ๊ธฐ์ˆ ๋“ค์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

2. ๐Ÿง ์ฟ ํ‚ค๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”๊ฐ€ HOW

  • ์ฟ ํ‚ค๋Š” ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ถ™์ด๋Š” ์Šคํ‹ฐ์ปค์™€ ๊ฐ™๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ์›น ์‚ฌ์ดํŠธ์— ๋ฐ˜๋ฌธํ•˜๋ฉด, ์›น ์‚ฌ์ดํŠธ๋Š” ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ถ™์ธ ๋ชจ๋“  ์Šคํ‹ฐ์ปค๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.
  1. ์ฒ˜์Œ์— ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ์— ๋ฐฉ๋ฌธํ•˜๋ฉด, ์›น ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด์„œ ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅธ๋‹ค.
  2. ์›น ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์‹œ ๋Œ์•„์™”์„ ๋•Œ, ํ•ด๋‹น ์‚ฌ์šฉ์ž๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ์œ ์ผํ•œ ๊ฐ’์„ ์ฟ ํ‚ค์— ํ• ๋‹นํ•œ๋‹ค.
    • ์ฟ ํ‚ค๋Š” ์ž„์˜์˜ ์ด๋ฆ„=๊ฐ’ ํ˜•ํƒœ์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ€์ง€๊ณ ,
      ๊ทธ ๋ฆฌ์ŠคํŠธ๋Š” Set-Cookie ํ˜น์€ Set-Cookie2 ๊ฐ™์€ HTTP์‘๋‹ต ํ—ค๋”์— ๊ธฐ์ˆ ๋˜์–ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌํ•œ๋‹ค. ์ฐธ๊ณ 

      Set-Cookie2์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

  3. ์ฟ ํ‚ค๋Š” ์–ด๋–ค ์ •๋ณด๋“  ํฌํ•จํ•  ์ˆ˜ ์žˆ์ง€๋งŒ,
    ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉ์ž ์ถ”์  ์šฉ๋„๋กœ ์ƒ์„ฑํ•œ
    ์œ ์ผํ•œ ๋‹จ์ˆœ ์‹๋ณ„ ๋ฒˆํ˜ธ๋งŒ ํฌํ•จํ•˜๊ธฐ๋„ ํ•œ๋‹ค.
    • ์„œ๋ฒ„๋Š” ์ด ์ฟ ํ‚ค ๊ฐ’์œผ๋กœ DB์—์„œ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ์ฐพ๋Š”๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋ฒ„๋กœ ์˜จ Set-Cookie ํ—ค๋”์— ์žˆ๋Š” ์ฟ ํ‚ค ์ฝ˜ํ…์ธ ๋ฅผ ๋ธŒ๋ผ์šฐ์ € ์ฟ ํ‚ค DB์— ์ €์žฅํ•œ๋‹ค.
    • ์‚ฌ์šฉ์ž๊ฐ€ ๋ฏธ๋ž˜์— ๊ฐ™์€ ์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ฉด,
      ๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋ฒ„๊ฐ€ ์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ํ• ๋‹นํ–ˆ๋˜ ์ฟ ํ‚ค๋ฅผ Cookie์š”์ฒญ ํ—ค๋”์— ๊ธฐ์ˆ ํ•ด ์ „์†กํ•œ๋‹ค.

๊ทธ๋‹ˆ๊นŒ ์ฟ ํ‚ค๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘? ์ •๋ฆฌ

  1. ์œ ์ €๊ฐ€ ์„œ๋ฒ„์— ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•œ๋‹ค.
  2. ์„œ๋ฒ„์—์„œ ์‘๋‹ต๊ณผ ํ•จ๊ป˜ Set-Cookie ํ—ค๋”๋ฅผ ์ „์†กํ•œ๋‹ค.
  3. ๋ธŒ๋ผ์šฐ์ €(User Agent)๊ฐ€ Set-Cookie ํ—ค๋”์—์„œ ์ „๋‹ฌ๋œ ๊ฐ’์„ ๊ฐ–๊ณ 
    ์ฟ ํ‚ค๋ฅผ ์ƒ์„ฑํ•ด์„œ (๋ธŒ๋ผ์šฐ์ €์—) ์ €์žฅํ•œ๋‹ค.
  4. ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ์ฟ ํ‚ค๋Š” ํด๋ผ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค
    ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ฐ™์ด ์ „์†กํ•ด์ค€๋‹ค.

3. โณ์ฟ ํ‚ค ์ƒํƒœ ๊ด€๋ฆฌ

3.1 ํด๋ผ์ด์–ธํŠธ ์ธก ์ƒํƒœ

  • ์ฟ ํ‚ค์˜ ๊ธฐ๋ณธ์ ์ธ ๋ฐœ์ƒ์€
    ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ ,
    ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด๋‹น ์„œ๋ฒ„์— ์ ‘๊ทผํ•  ๋•Œ๋งˆ๋‹ค ๊ทธ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ์ „์†กํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
  • ๋ธŒ๋ผ์šฐ์ €๋Š” ์ฟ ํ‚ค ์ •๋ณด๋ฅผ ์ €์žฅํ•  ์ฑ…์ž„์ด ์žˆ๋‹ค.
    = ํด๋ผ์ด์–ธํŠธ ์ธก ์ƒํƒœ
    = HTTP ์ƒํƒœ ๊ด€๋ฆฌ์ฒด๊ณ„ (HTTP State Management Mechnism)
  • ๊ฐ ๋ธŒ๋ผ์šฐ์ €๋Š” ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์ฟ ํ‚ค๋ฅผ ์ €์žฅํ•œ๋‹ค.

3.2 Domain ๋ณ„ ์ฟ ํ‚ค ์ƒํƒœ ๊ด€๋ฆฌ

  • ๋ธŒ๋ผ์šฐ์ €๋Š” ์ˆ˜๋ฐฑ์ˆ˜์ฒœ ๊ฐœ์˜ ์ฟ ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ,
    ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ฟ ํ‚ค ์ „๋ถ€๋ฅผ ๋ชจ๋“  ์‚ฌ์ดํŠธ์— ๋ณด๋‚ด์ง€๋Š” ์•Š๋Š”๋‹ค.
  • ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ณดํ†ต ๊ฐ ์‚ฌ์ดํŠธ์— 2๊ฐœ ํ˜น์€ 3๊ฐœ์˜ ์ฟ ํ‚ค๋งŒ ๋ณด๋‚ธ๋‹ค.
    1. ๐Ÿ”ฅ ์ฟ ํ‚ค๋ฅผ ๋ชจ๋‘ ์ „๋‹ฌํ•˜๋ฉด ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ์ €ํ•˜๋œ๋‹ค.
      • ์ฟ ํ‚ค๋ฅผ ๋ชจ๋‘ ์ „๋‹ฌํ•˜๋ฉด, ๋ธŒ๋ผ์šฐ์ €๋Š” ์‹ค์ œ ์ฝ˜ํ…์ธ ์˜ ๋ฐ”์ดํŠธ๋ณด๋‹ค ๋” ๋งŽ์€ ์ฟ ํ‚ค ๋ฐ”์ดํŠธ๋ฅผ ์ „๋‹ฌํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.
    2. ๐Ÿคทโ€โ™‚๏ธ ํ•ด๋‹น ๋„๋ฉ”์ธ๊ณผ ์ƒ๊ด€์—†๋Š” ์ฟ ํ‚ค๋ฅผ ๋ณด๋‚ด๋ฉด ๋ฌด์˜๋ฏธํ•˜๋‹ค.
      • ์ด ์ฟ ํ‚ค๋“ค์€ ๋Œ€๋ถ€๋ถ„์€ ์„œ๋ฒ„์— ํŠนํ™”๋œ ์ด๋ฆ„/๊ฐ’ ์Œ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—,
        ๋Œ€๋ถ€๋ถ„ ์‚ฌ์ดํŠธ์—์„œ๋Š” ์ธ์‹ํ•˜์ง€ ์•Š๋Š” ๋ฌด์˜๋ฏธํ•œ ๊ฐ’์ด๋‹ค.
      • ๋ชจ๋“  ์‚ฌ์ดํŠธ์— ์ฟ ํ‚ค ์ „์ฒด๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์€,
        ํŠน์ • ์‚ฌ์ดํŠธ์—์„œ ์ œ๊ณตํ•œ ์ •๋ณด๋ฅผ ์‹ ๋ขฐํ•˜์ง€ ์•Š๋Š” ์‚ฌ์ดํŠธ์—์„œ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ์–ด์„œ,
        ์ž ์žฌ์ ์ธ ๊ฐœ์ธ ์ •๋ณด ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ๊ฒƒ์ด๋‹ค.
  • ๋ณดํ†ต ๋ธŒ๋ผ์šฐ์ €๋Š” ์ฟ ํ‚ค๋ฅผ ์ƒ์„ฑํ•œ ์„œ๋ฒ„์—๊ฒŒ๋งŒ ์ฟ ํ‚ค์— ๋‹ด๊ธด ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.
  • ์ฟ ํ‚ค๋Š” ์ผ์ข…์˜ ์ƒํƒœ ์ •๋ณด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ
    1. ์„œ๋ฒ„๊ฐ€ ์ƒ์„ฑํ•˜์—ฌ ํด๋ผ์— ์ „๋‹ฌํ•˜๊ณ 
    2. ํด๋ผ๋Š” ๊ทธ ์ฟ ํ‚ค๋ฅผ ์œ ํšจํ•œ ์‚ฌ์ดํŠธ์—๋งŒ ๋‹ค์‹œ ์ „๋‹ฌํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค.

๋งŽ์€ ์›น ์‚ฌ์ดํŠธ๋Š” ๊ด‘๊ณ ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ˜‘๋ ฅ์—…์ฒด์™€ ๊ณ„์•ฝ์„ ํ•œ๋‹ค. (third-party ์ฟ ํ‚ค)

  • ์ด ๊ด‘๊ณ ๋“ค์€ ์›น์‚ฌ์ดํŠธ ์ž์ฒด์˜ ์ผ๋ถ€์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์ œ์ž‘๋˜๊ณ , ์ง€์† ์ฟ ํ‚ค๋ฅผ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค.
  • ๊ฐ™์€ ๊ด‘๊ณ ์‚ฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์›น์‚ฌ์ดํŠธ์— ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐฉ๋ฌธํ•˜๋ฉด,
    ๋ธŒ๋ผ์šฐ์ €๋Š” ์•ž์„œ ๋งŒ๋“  ์ง€์† ์ฟ ํ‚ค๋ฅผ ๋‹ค์‹œ ๊ด‘๊ณ ์‚ฌ ์„œ๋ฒ„๋กœ ์ „์†กํ•œ๋‹ค.
  • ๊ด‘๊ณ ์‚ฌ๋Š” ์ด ๊ธฐ์ˆ ์— Refererํ—ค๋”๋ฅผ ์ ‘๋ชฉํ•˜์—ฌ,
    ์‚ฌ์šฉ์ž์˜ ํ”„๋กœํ•„๊ณผ ์›น์‚ฌ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์Šต๊ด€์— ๋Œ€ํ•œ ๋ฐฉ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฟ ํ‚ค Domain ์†์„ฑ

  • ์„œ๋ฒ„๋Š” ์ฟ ํ‚ค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ Set-Cookie ์‘๋‹ต ํ—ค๋”์—
    Domain ์†์„ฑ์„ ์‹œ์ˆ ํ•ด์„œ, ์–ด๋–ค ์‚ฌ์ดํŠธ๊ฐ€ ๊ทธ ์ฟ ํ‚ค๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋Š”์ง€ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋„๋ฉ”์ธ์— ํ•ด๋‹นํ•˜๋Š” ์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ฉด Cookie ํ—ค๋”๊ฐ€ ํ•ญ์ƒ ์ ์šฉ๋  ๊ฒƒ์ด๋‹ค.

์•„๋ž˜ ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ๋˜์–ด ์žˆ๋˜ ์ฟ ํ‚ค ๋‚ด์šฉ์„ ํ•ด๋‹น ๋„๋ฉ”์ธ๊ณผ ๊ฐ™์„ ๊ฒฝ์šฐ
์š”์ฒญ ํ—ค๋”์˜ Cookie์— ํฌํ•จ์‹œํ‚จ๋‹ค.

์ฟ ํ‚ค Path ์†์„ฑ

  • ์›น ์‚ฌ์ดํŠธ ์ผ๋ถ€์—๋งŒ ์ฟ ํ‚ค๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • https://www.google.com/ + /search
    /search ์—ฌ๊ธฐ์—๋งŒ ํ•ด๋‹นํ•˜๋Š” ์ฟ ํ‚ค!

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

  • ํ˜„์žฌ ์‚ฌ์šฉ๋˜๋Š” ์ฟ ํ‚ค ๋ช…์„ธ์—๋Š”
    Version0 ์ฟ ํ‚ค (= ๋„ท์Šค์ผ€์ดํ”„ ์ฟ ํ‚ค)
    Version1 ์ฟ ํ‚ค (RFC 2965 => RFC 2965 => RFC 6265)
  • Version1 ์ฟ ํ‚ค๋Š” Version0 ์ฟ ํ‚ค์˜ ํ™•์žฅ์œผ๋กœ
    ๋„๋ฆฌ ์“ฐ์ด์ง€๋Š” ์•Š๋Š”๋‹ค.
  • Version0๊ณผ Version1 ์ฟ ํ‚ค ๋ช…์„ธ ๋ชจ๋‘ HTTP/1.1 ๋ช…์„ธ ์ผ๋ถ€๋กœ ๊ธฐ์ˆ ๋˜์–ด ์žˆ์ง€๋Š” ์•Š๋Š”๋‹ค.

Version 0

  • Set-Cookie ํ—ค๋”๋Š” ์ฟ ํ‚ค์˜ ์ด๋ฆ„๊ณผ ๊ฐ’์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.
  • ์ด๋Š” ์ฟ ํ‚ค ์˜ต์…˜ ์†์„ฑ๋“ค์— ;์œผ๋กœ ์ด์–ด ๊ธฐ์ˆ ํ•œ๋‹ค.
  1. ์ด๋ฆ„=๊ฐ’: ํ•„์ˆ˜ ๊ฐ’
  2. Expires: ์„ ํƒ์ ์ธ ์†์„ฑ. ์ฟ ํ‚ค์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋‚ ์งœ ๋ฌธ์ž์—ด
    • ์š”์ผ, DD-MM-YY HH:MM:SS GMT
    • ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํƒ€์ž„์กด์€ GMT
    • ์ฟ ํ‚ค์— Expires๋ฅผ ๋ช…์‹œํ•˜์ง€ ์•Š์œผ๋ฉด ๊ทธ ์ฟ ํ‚ค๋Š” ์‚ฌ์šฉ์ž์˜ ์„ธ์…˜์ด ๋๋‚  ๋•Œ ํŒŒ๊ธฐ๋  ๊ฒƒ์ด๋‹ค.
  3. Domain: ์„ ํƒ์ ์ธ ์†์„ฑ. ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด ์†์„ฑ์— ๊ธฐ์ˆ ๋œ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ฒ„ ํ˜ธ์ŠคํŠธ๋ช…์œผ๋กœ๋งŒ ์ฟ ํ‚ค๋ฅผ ์ „์†กํ•œ๋‹ค.
    • ์ด๋Š” ์„œ๋ฒ„๊ฐ€ ํ•ด๋‹น ๋„๋ฉ”์ธ์—๋งŒ ์ฟ ํ‚ค๋ฅผ ์ œํ•œ์ ์œผ๋กœ ์ „๋‹ฌํ•˜๊ฒŒ ํ•œ๋‹ค.
    • ๋„๋ฉ”์ธ์ด ๋ช…์‹œ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด, Set-Cookie ์‘๋‹ต์„ ์ƒ์„ฑํ•œ ์„œ๋ฒ„์˜ ํ˜ธ์ŠคํŠธ ๋ช…์„ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
  4. Path: ์„ ํƒ์ ์ธ ์†์„ฑ. ์„œ๋ฒ„์— ์žˆ๋Š” ํŠน์ • ๋ฌธ์„œ์—๋งŒ ์ฟ ํ‚ค๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.
    • /foo๊ฒฝ๋กœ๋Š” /foobar์™€ /foo/bar.html์— ๋“ค์–ด๋งž๋Š”๋‹ค.
    • /๋Š” ๋ชจ๋“  ๊ฒƒ์— ๋“ค์–ด๋งž๋Š”๋‹ค.
    • ๊ฒฝ๋กœ๋ฅผ ๋ช…์‹œํ•˜์ง€ ์•Š์œผ๋ฉด, Set-Cookie ์‘๋‹ต์„ ์ „๋‹ฌํ•˜๋Š” URL์˜ ๊ฒฝ๋กœ๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค.
  5. Secure: ์„ ํƒ์ ์ธ ์†์„ฑ. ์ฟ ํ‚ค๋Š” HTTP๊ฐ€ SSL ๋ณด์•ˆ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•  ๋•Œ๋งŒ ์ฟ ํ‚ค๋ฅผ ์ „์†กํ•œ๋‹ค.
  6. HttpOnly: HttpOnly๋Š” ์ฟ ํ‚ค์˜ ๋ฒ”์œ„๋ฅผ HTTP ์š”์ฒญ์œผ๋กœ ์ œํ•œํ•œ๋‹ค.
    HttpOnly๊ฐ€ ์„ค์ •๋œ ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ API๋กœ๋Š” ์ฟ ํ‚ค์— ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•œ๋‹ค.
  • ํด๋ผ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ๋Š”, Domain, Path, Secure ํ•„ํ„ฐ๋“ค์ด ํ˜„์žฌ ์š”์ฒญํ•˜๋ ค๊ณ  ํ•˜๋Š” ์‚ฌ์ดํŠธ์— ๋“ค์–ด๋งž์œผ๋ฉด์„œ, ์•„์ง ํŒŒ๊ธฐ๋˜์ง€ ์•Š์€ ์ฟ ํ‚ค๋“ค์„ ํ•จ๊ป˜ ๋ณด๋‚ธ๋‹ค.
  • Cookie ํ—ค๋”์— ์ด์–ด ๋ถ™์—ฌ์„œ ๋ณด๋‚ธ๋‹ค.

Version 1

  • ์ฟ ํ‚ค ๋ฒ„์ „ 1์€ RFC 2109๋ฅผ ๋œปํ•œ๋‹ค.

  • RFC 2109๋Š” ๊ธฐ์กด ๋„ท์Šค์ผ€์ดํ”„ ์ฟ ํ‚ค์˜ ์ŠคํŽ™์„ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•œ ๊ฒƒ

  • Version0 ์ฟ ํ‚ค ์†์„ฑ์€ Name, Value, Expires, Domain, Path, Securer๊ฐ€ ์žˆ๋‹ค.

  • Version1 ์ฟ ํ‚ค ์†์„ฑ์€ Name, Value, Comment, Domain, Max-Age, Path, Secure, Version์ด ์žˆ๋‹ค.

    • Comment: ์„œ๋ฒ„๊ฐ€ ์ฟ ํ‚ค์˜ ์šฉ๋„๋ฅผ ๊ธฐ๋กํ•ด๋‘๊ธฐ ์œ„ํ•œ ์†์„ฑ
    • Version: ์ฟ ํ‚ค๊ฐ€ ์–ด๋–ค ๋ช…์„ธ์„œ๋ฅผ ๋”ฐ๋ฅด๋Š”์ง€ ๋ฒ„์ „์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

RFC 6265์™€ RFC 2109 ์ฟ ํ‚ค์˜ ์ฐจ์ด

  • RFC 6265๊ฐ€ ๋‚˜์˜ค๋ฉด์„œ RFC 2109, RFC 2965๋Š” ํ๊ธฐ
  • ๋‘˜๋”” Set-Cookie ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • RFC 2109๋Š” Name, Value, Comment, Domain, Max-Age, Path, Secure, Version
  • RFC 6265๋Š” Name, Value, Expires, Domain, Max-Age, Path, Secure, HttpOnly
    • Max-Age๋ฅผ ์„ค์ •ํ•˜๋ฉด ์ž๋™์œผ๋กœ Expires๊ฐ€ ์ •ํ•ด์ง„๋‹ค.
    • HttpOnly: ๋น„ HTTP ์š”์ฒญ์„ ๋ง‰๋Š”๋‹ค.
  • ๊ตฌํ˜„ ๊ณ ๋ ค ์‚ฌํ•ญ
    • RFC 2109๋Š” ์œ ์ € ์—์ด์ „ํŠธ๊ฐ€ ์ตœ์†Œ 300๊ฐœ์˜ ์ฟ ํ‚ค,
      ์ฟ ํ‚ค๋งˆ๋‹ค ์ ์–ด๋„ 4096๋ฐ”์ดํŠธ,
      ํ•œ ํ˜ธ์ŠคํŠธ๋‚˜ ๋„๋ฉ”์ธ๋งˆ๋‹ค ์ตœ์†Œ 20๊ฐœ๋ฅผ ์ง€์›ํ•ด์•ผ ํ•œ๋‹ค.
    • RFC 6265๋Š” ์œ ์ € ์—์ด์ „ํŠธ๊ฐ€ ์ตœ์†Œ 3000๊ฐœ์˜ ์ฟ ํ‚ค
      ์ฟ ํ‚ค๋งˆ๋‹ค ์ ์–ด๋„ 4096๋ฐ”์ดํŠธ,
      ๋„๋ฉ”์ธ ๋‹น ์ตœ์†Œ 50๊ฐœ์˜ ์ฟ ํ‚ค๋ฅผ ์ €์žฅ ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๋ช…์‹œ.

Set-Cookie2 ํ—ค๋”

Cookie2 ํ—ค๋”

Set-Cookie2์™€ Cookie2 ํ—ค๋”๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ํŒจ์Šค


5. ๐Ÿ‘€ ์ฟ ํ‚ค ๋ชฉ์ ๋ณ„ ์‚ฌ์šฉ

  • ์ฟ ํ‚ค๋Š” ์›น์‚ฌ์ดํŠธ์— ์ˆ˜์ฐจ๋ก€ ํŠธ๋žœ์žญ์…˜์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.

5.1 ์ฟ ํ‚ค์™€ ์„ธ์…˜ ์ถ”์ 

Amazon.com์˜ ์˜ˆ๋ฅผ ํ†ตํ•ด ์‚ดํŽด๋ณด์ž.

  1. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ Amazon.com์˜ ๋ฃจํŠธ ํŽ˜์ด์ง€๋ฅผ ์ฒ˜์Œ ์š”์ฒญํ•œ๋‹ค

    1
    2
    GET / HTTP/1.0
    Host: www.amazon.com
  2. ์„œ๋ฒ„๋Š” ํด๋ผ๋ฅผ ์ „์ž์ƒ๊ฑฐ๋ž˜ ์†Œํ”„ํŠธ์›จ์–ด URL๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์‹œํ‚จ๋‹ค.

    1
    2
    HTTP/1.1 302 Found
    Location: http://www.amazon.com:80/exec/abidos/subst/home/redirect.html
  3. ํด๋ผ๋Š” ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ URL๋กœ ์š”์ฒญ ๋ณด๋‚ธ๋‹ค.

    1
    2
    GET /exec/abidos/subst/home/redirect.html HTTP/1.0 302 Found
    Host: http://www.amazon.com
  4. ์„œ๋ฒ„๋Š” ์‘๋‹ต์—
    ๋‘ ๊ฐœ์˜ ์„ธ์…˜ ์ฟ ํ‚ค๋ฅผ ๊ธฐ์ˆ ํ•˜๊ณ  (Set-Cookie = ์š” ์ฟ ํ‚ค ๋ธŒ๋ผ์šฐ์ €์— ๋„ฃ์–ด๋‘์„ธ์š”)
    ์‚ฌ์šฉ์ž๋ฅผ ๋‹ค๋ฅธ URL๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์‹œํ‚ค๋ฉฐ
    ํด๋ผ๋Š” ๋‹ค์‹œ ์ด ์ฟ ํ‚ค๋“ค์„ ์ฒจ๋ถ€ํ•˜์—ฌ ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.(Cookie) ์ƒˆ๋กœ์šด URL(http://www.amazon.com/exec/abidos/subst/home/redirect.html/002-1135265-8016838)์€ ์ž์ฒด์— ์ƒํƒœ ์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ์œผ๋ฏ€๋กœ = ๋šฑ๋šฑํ•œ URL

    1
    2
    3
    4
    HTTP/1.1 302 Found
    Date: Sun, 02 Dec 2001 03:20:47 GMT
    Set-Cookie: session-id=002-1135265-8016838; path=/; domain=.amazon.com; expires=Suday, 09-Dec-2001 08:00:00 GMT
    Set-Cookie: session-id-time=1007884800; path=/; domain=.amazon.com; expires=Suday, 09-Dec-2001 08:00:00 GMT
  5. ํด๋ผ๋Š” ์ƒˆ๋กœ์šด URL์„ ์š”์ฒญ์„ ์š”์ฒญ๋ฐ›์•˜๋˜ ๋‘ ๊ฐœ์˜ ์ฟ ํ‚ค์™€ ํ•จ๊ป˜ ๋ณด๋‚ธ๋‹ค.

    1
    2
    3
    GET /exec/abidos/subst/home/redirect.html/002-1135265-8016838 HTTP/1.0
    Host: http://www.amazon.com
    Cookie: session-id=002-1135265-8016838; session-id-time=1007884800
  6. ์„œ๋ฒ„๋Š” home.html ํŽ˜์ด์ง€๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์‹œํ‚ค๊ณ , ์ฟ ํ‚ค ๋‘ ๊ฐœ๋ฅผ ๋” ์ฒจ๋ถ€ํ•œ๋‹ค.

    1
    2
    3
    4
    5
    HTTP/1.1 302 Found
    Date: Sun, 02 Dec 2001 03:45:40 GMT
    Set-Cookie: ubid-main=430-8248051-6231206; path=/; domain=.amazon.com; expires=Tuesday, 09-Dec-2001 08:00:00 GMT
    Set-Cookie: x-main=hQ...Bf; path=/; domain=.amazon.com; expires=Tuesday, 09-Dec-2001 08:00:00 GMT
    Location: http://www.amazon.com/exec/abidos/subst/home/home.html/002-1135265-8016838
  7. ํด๋ผ๋Š” home.html ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ , ์ด 4๊ฐœ์˜ ์ฟ ํ‚ค๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.

    1
    2
    3
    GET /exec/abidos/subst/home/home.html/002-1135265-8016838 HTTP/1.0
    Host: http://www.amazon.com
    Cookie: session-id=002-1135265-8016838; session-id-time=1007884800; ubid-main=430-8248051-6231206; x-main=hQ...Bf
  8. ์„œ๋ฒ„๋Š” ์ฝ˜ํ…์ธ ๋ฅผ ๋ณด๋‚ธ๋‹ค.

์ฟ ํŒก ์ฒซ ํ™”๋ฉด ์ง„์ž… ์‹œ ์ง„ํ–‰๋˜๋Š”
๊ด‘๊ณ  ์†”๋ฃจ์…˜ ํฌ๋ฆฌํ…Œ์˜ค ์„ธ์…˜ ์ถ”์  ๊ณผ์ • ์ค‘ ์ผ๋ถ€


6. ๐Ÿ‘ฎโ€ ์ฟ ํ‚ค ์‚ฌ์šฉ ์‹œ ์ฃผ์˜์‚ฌํ•ญ

6.1 ์ฟ ํ‚ค์™€ ์บ์‹ฑ

  • ์ด์ „ ์‚ฌ์šฉ์ž์˜ ์ฟ ํ‚ค๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ• ๋‹น๋ผ๋ฒ„๋ฆฌ๊ฑฐ๋‚˜,
    ๋ˆ„๊ตฐ๊ฐ€์˜ ๊ฐœ์ธ ์ •๋ณด๊ฐ€ ๋‹ค๋ฅธ ์ด์—๊ฒŒ ๋…ธ์ถœ๋˜๋Š” ์ตœ์•…์˜ ์ƒํ™ฉ์ด ์ผ์–ด๋‚  ์ˆ˜๋„ ์žˆ๋‹ค.
  1. ์บ์‹œ ๋˜์ง€ ๋ง์•„์•ผ ํ•  ๋ฌธ์„œ๊ฐ€ ์žˆ๋‹ค๋ฉด ํ‘œ์‹œํ•˜๋ผ
    Control: no-cache="Set-Cookie"

  2. Set-Cookie ํ•ด๋”๋ฅผ ์บ์‹œ ํ•˜๋Š” ๊ฒƒ์— ์œ ์˜ํ•˜๋ผ

    • ๊ฐ™์€ Set-Cookie ํ—ค๋”๋ฅผ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด๋‚ด๊ฒŒ ๋˜๋ฉด ์‚ฌ์šฉ์ž ์ถ”์ ์— ์‹คํŒจํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ
    • ์–ด๋–ค ์บ์‹œ๋Š” ์‘๋‹ต์„ ์ €์žฅํ•˜๊ธฐ ์ „์— Set-Cookie ํ—ค๋”๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ทธ ์บ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์€ ํด๋ผ๋Š” Set-Cookie ํ—ค๋” ์ •๋ณด๊ฐ€ ์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ฒŒ ๋˜์–ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.
      • ์บ์‹œ๊ฐ€ ๋ชจ๋“  ์š”์ฒญ๋งˆ๋‹ค ์› ์„œ๋ฒ„์™€ ์žฌ๊ฒ€์‚ฌ์‹œ์ผœ ํด๋ผ๋กœ ๊ฐ€๋Š” ์‘๋‹ต์— Set-Cookie ํ—ค๋” ๊ฐ’์„ ๊ธฐ์ˆ ํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. (์ฐธ๊ณ )
        1
        Cache-Control: must-revalidate, max-age=0
  3. Cookie ํ—ค๋”๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์š”์ฒญ์„ ์ฃผ์˜ํ•˜๋ผ

    • ํด๋ผ ์š”์ฒญ์— Cookie ํ—ค๋”๊ฐ€ ํ•จ๊ป˜ ์˜ค๋ฉด,
      ๊ฒฐ๊ณผ ์ฝ˜ํ…์ธ ๊ฐ€ ๊ฐœ์ธ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ํžŒํŠธ๋‹ค.
    • ๊ฐœ์ธ ์ •๋ณด๋Š” ์บ์‹œ ๋˜์ง€ ์•Š๋„๋ก ํ‘œ์‹œ๋˜์–ด ์žˆ์–ด์•ผ ํ•˜์ง€๋งŒ, ๊ทธ ํ‘œ์‹œ๋ฅผ ํ•˜์ง€ ์•Š๋Š” ์„œ๋ฒ„๋„ ์žˆ๋‹ค.
    • ๋ณด์ˆ˜์ ์ธ ์บ์‹œ๋Š” Cookie ํ—ค๋”๊ฐ€ ํฌํ•จ๋œ ์š”์ฒญ์— ์‘๋‹ต์œผ๋กœ ๊ฐ€๋Š” ๋ฌธ์„œ๋Š” ์บ์‹œ ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.

6.2 ์ฟ ํ‚ค, ๋ณด์•ˆ ๊ทธ๋ฆฌ๊ณ  ๊ฐœ์ธ ์ •๋ณด

  • ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ๋น„ํ™œ์„ฑํ™” ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ณ , ๋กœ๊ทธ ๋ถ„์„ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ๋Œ€์ฒดํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ, ๊ทธ ์ž์ฒด๊ฐ€ ๋ณด์•ˆ์ƒ์œผ๋กœ ์—„์ฒญ๋‚˜๊ฒŒ ์œ„ํ—˜ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.
  • ์›๊ฒฉ DB์— ๊ฐœ์ธ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ ,
    ํ•ด๋‹น ๋ฐ์ดํ„ฐ์˜ ํ‚ค๊ฐ’์„ ์ฟ ํ‚ค์— ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์„ ํ‘œ์ค€์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด,
    ํด๋ผ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์— ์˜ˆ๋ฏผํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ค๊ฐ€๋Š” ๊ฒƒ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
  • ์ฟ ํ‚ค์— ๋Œ€ํ•œ ๋ถ€์ •์ ์ธ ์—ฌ๋ก ์ด ๋งŽ๊ธฐ๋Š” ํ•˜์ง€๋งŒ,
    ์ œ๊ณตํ•˜๋Š” ๊ฐœ์ธ ์ •๋ณด๋ฅผ ๋ˆ„๊ฐ€ ๋ฐ›๋Š”์ง€ ๋ช…ํ™•ํžˆ ์•Œ๊ณ , ์‚ฌ์ดํŠธ์˜ ๊ฐœ์ธ ์ •๋ณด ์ •์ฑ…์—๋งŒ ์œ ์˜ํ•œ๋‹ค๋ฉด, ์ฟ ํ‚ค์— ๊ด€๋ จํ•œ ์œ„ํ—˜์„ฑ๋ณด๋‹ค
    ์„ธ์…˜ ์กฐ์ž‘์ด๋‚˜ ํŠธ๋žœ์žญ์…˜ ์ƒ์˜ ํŽธ๋ฆฌํ•จ์ด ๋” ํฌ๋‹ค.


์ฐธ๊ณ ์ž๋ฃŒ

  1. mdn ์ฟ ํ‚ค๊ธ€
  2. HTTP ์ฟ ํ‚ค์™€ ํ†ฐ์บฃ ๋ฒ„์ „๋ณ„ ์ด์Šˆ
  3. RFC 6265
๐Ÿ“š