โœŠ ํ•„์˜ค์˜ ๊ฐœ๋ฐœ์ผ์ง€
Back to Posts
2019๋…„ 11์›” 16์ผ

์ฟ ํ‚ค ๐Ÿช

์ฟ ํ‚ค ๐Ÿช

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

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

์ฟ ํ‚ค ๐Ÿช


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

์ถœ์ฒ˜ย 


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

  1. ์ฒ˜์Œ์— ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ์— ๋ฐฉ๋ฌธํ•˜๋ฉด, ์›น ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด์„œ ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅธ๋‹ค.
  2. ์›น ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์‹œ ๋Œ์•„์™”์„ ๋•Œ, ํ•ด๋‹น ์‚ฌ์šฉ์ž๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ์œ ์ผํ•œ ๊ฐ’์„ ์ฟ ํ‚ค์— ํ• ๋‹นํ•œ๋‹ค.
  1. ์ฟ ํ‚ค๋Š” ์–ด๋–ค ์ •๋ณด๋“  ํฌํ•จํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉ์ž ์ถ”์  ์šฉ๋„๋กœ ์ƒ์„ฑํ•œ ์œ ์ผํ•œ ๋‹จ์ˆœ ์‹๋ณ„ ๋ฒˆํ˜ธ๋งŒ ํฌํ•จํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

๊ทธ๋‹ˆ๊นŒ ์ฟ ํ‚ค๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘? ์ •๋ฆฌ 1. ์œ ์ €๊ฐ€ ์„œ๋ฒ„์— ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•œ๋‹ค. 2. ์„œ๋ฒ„์—์„œ ์‘๋‹ต๊ณผ ํ•จ๊ป˜

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


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

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

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

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

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

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

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


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

Version 0

  1. ์ด๋ฆ„=๊ฐ’: ํ•„์ˆ˜ ๊ฐ’
  2. Expires: ์„ ํƒ์ ์ธ ์†์„ฑ. ์ฟ ํ‚ค์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋‚ ์งœ ๋ฌธ์ž์—ด
  1. Domain: ์„ ํƒ์ ์ธ ์†์„ฑ. ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด ์†์„ฑ์— ๊ธฐ์ˆ ๋œ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ฒ„ ํ˜ธ์ŠคํŠธ๋ช…์œผ๋กœ๋งŒ ์ฟ ํ‚ค๋ฅผ ์ „์†กํ•œ๋‹ค.
  1. Path: ์„ ํƒ์ ์ธ ์†์„ฑ. ์„œ๋ฒ„์— ์žˆ๋Š” ํŠน์ • ๋ฌธ์„œ์—๋งŒ ์ฟ ํ‚ค๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.
  1. Secure: ์„ ํƒ์ ์ธ ์†์„ฑ. ์ฟ ํ‚ค๋Š” HTTP๊ฐ€ SSL ๋ณด์•ˆ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•  ๋•Œ๋งŒ ์ฟ ํ‚ค๋ฅผ ์ „์†กํ•œ๋‹ค.
  2. HttpOnly: HttpOnly๋Š” ์ฟ ํ‚ค์˜ ๋ฒ”์œ„๋ฅผ HTTP ์š”์ฒญ์œผ๋กœ ์ œํ•œํ•œ๋‹ค. HttpOnly๊ฐ€ ์„ค์ •๋œ ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ API๋กœ๋Š” ์ฟ ํ‚ค์— ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•œ๋‹ค.

Version 1

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

Set-Cookie2 ํ—ค๋”

Cookie2 ํ—ค๋”

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


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

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

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

  1. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ Amazon.com์˜ ๋ฃจํŠธ ํŽ˜์ด์ง€๋ฅผ ์ฒ˜์Œ ์š”์ฒญํ•œ๋‹ค
GET / HTTP/1.0 Host: www.amazon.com
  1. ์„œ๋ฒ„๋Š” ํด๋ผ๋ฅผ ์ „์ž์ƒ๊ฑฐ๋ž˜ ์†Œํ”„ํŠธ์›จ์–ด URL๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์‹œํ‚จ๋‹ค.
HTTP/1.1 302 Found Location: http://www.amazon.com:80/exec/abidos/subst/home/redirect.html
  1. ํด๋ผ๋Š” ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ URL๋กœ ์š”์ฒญ ๋ณด๋‚ธ๋‹ค.
GET /exec/abidos/subst/home/redirect.html HTTP/1.0 302 Found Host: http://www.amazon.com
  1. ์„œ๋ฒ„๋Š” ์‘๋‹ต์— ๋‘ ๊ฐœ์˜ ์„ธ์…˜ ์ฟ ํ‚ค๋ฅผ ๊ธฐ์ˆ ํ•˜๊ณ  (Set-Cookie = ์š” ์ฟ ํ‚ค ๋ธŒ๋ผ์šฐ์ €์— ๋„ฃ์–ด๋‘์„ธ์š”) ์‚ฌ์šฉ์ž๋ฅผ ๋‹ค๋ฅธ URL๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์‹œํ‚ค๋ฉฐ ํด๋ผ๋Š” ๋‹ค์‹œ ์ด ์ฟ ํ‚ค๋“ค์„ ์ฒจ๋ถ€ํ•˜์—ฌ ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.(Cookie) ์ƒˆ๋กœ์šด URL(http://www.amazon.com/exec/abidos/subst/home/redirect.html/002-1135265-8016838)์€ย  ์ž์ฒด์— ์ƒํƒœ ์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ์œผ๋ฏ€๋กœ = ๋šฑ๋šฑํ•œ URL
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
  1. ํด๋ผ๋Š” ์ƒˆ๋กœ์šด URL์„ ์š”์ฒญ์„ ์š”์ฒญ๋ฐ›์•˜๋˜ ๋‘ ๊ฐœ์˜ ์ฟ ํ‚ค์™€ ํ•จ๊ป˜ ๋ณด๋‚ธ๋‹ค.
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
  1. ์„œ๋ฒ„๋Š” home.html ํŽ˜์ด์ง€๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์‹œํ‚ค๊ณ , ์ฟ ํ‚ค ๋‘ ๊ฐœ๋ฅผ ๋” ์ฒจ๋ถ€ํ•œ๋‹ค.
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
  1. ํด๋ผ๋Š” home.html ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ , ์ด 4๊ฐœ์˜ ์ฟ ํ‚ค๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.
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
  1. ์„œ๋ฒ„๋Š” ์ฝ˜ํ…์ธ ๋ฅผ ๋ณด๋‚ธ๋‹ค.

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


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

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

  1. ์บ์‹œ ๋˜์ง€ ๋ง์•„์•ผ ํ•  ๋ฌธ์„œ๊ฐ€ ์žˆ๋‹ค๋ฉด ํ‘œ์‹œํ•˜๋ผ Control: no-cache="Set-Cookie"
  2. Set-Cookie ํ•ด๋”๋ฅผ ์บ์‹œ ํ•˜๋Š” ๊ฒƒ์— ์œ ์˜ํ•˜๋ผ
  1. Cookie ํ—ค๋”๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์š”์ฒญ์„ ์ฃผ์˜ํ•˜๋ผ

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



์ฐธ๊ณ ์ž๋ฃŒ

  1. mdn ์ฟ ํ‚ค๊ธ€ย 
  2. HTTP ์ฟ ํ‚ค์™€ ํ†ฐ์บฃ ๋ฒ„์ „๋ณ„ ์ด์Šˆย 
  3. RFC 6265ย 
Previous๊ธฐ๋ณธ ์ธ์ฆ
Nextํด๋ผ์ด์–ธํŠธ ์‹๋ณ„

Related

ยฉ 2025 Felix