Amenable
Amenable's Blog
Amenable
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (189)
    • ๐Ÿ“‚ JAVA (87)
      • ์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” (65)
      • ์ฃผ์š” ๊ฐœ๋… (22)
    • ๐Ÿ“‚ ๊ฐœ๋ฐœ ์„œ์  (22)
      • ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ (1)
      • ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด (2)
      • ํด๋ฆฐ ์ฝ”๋“œ (8)
      • ํ•จ๊ป˜ ์ž๋ผ๊ธฐ (1)
      • ๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” HTTP&Network Basic (10)
    • ๐Ÿ“‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (8)
      • ๊ฐœ๋… (8)
      • ๋ฌธ์ œํ’€์ด (0)
    • ๐Ÿ“‚ ๋„คํŠธ์›Œํฌ (14)
      • ๊ฐœ๋… (6)
      • ์„ฑ๊ณต๊ณผ ์‹คํŒจ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” 1%์˜ ๋„คํŠธ์›Œํฌ ์›๋ฆฌ (8)
    • ๐Ÿ“‚ ์Šคํ”„๋ง (13)
      • ๊ธฐ๋ณธ ๊ฐœ๋… (13)
    • ๐Ÿ“‚ WEB (5)
    • ๐Ÿ“‚ ์ž๋ฃŒ๊ตฌ์กฐ (12)
      • ๊ฐœ๋… (2)
      • ์ •๋ ฌ (8)
      • ํŠธ๋ฆฌ (2)
    • ๐Ÿ“‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (10)
      • ์ตœ์†Œ์‹ ์žฅํŠธ๋ฆฌ (2)
      • ์ตœ๋‹จ ๊ฒฝ๋กœ (2)
      • ๋ฌธ์ž์—ด (2)
      • ETC (4)
    • ๐Ÿ“‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜_๋ฌธ์ œํ’€์ด (4)
      • BOJ_๋ฐฑ์ค€ (4)
    • ๐Ÿ“‚ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (3)
    • ๐Ÿ“‚ DevOps (2)
      • ๋ฐฐํฌ (2)
    • ๐Ÿ“‚ ํ›„๊ธฐ (8)
      • ์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค(ํ”„๋ฆฌ์ฝ”์Šค) (4)
      • 2023๋…„ (3)
      • 2024๋…„ (1)
    • ๐Ÿ“‚ ํšŒ๊ณ  (1)
      • 2023๋…„ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿš€ GitHub

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
Amenable

Amenable's Blog

์ฟ ํ‚ค(Cookie)
๐Ÿ“‚ WEB

์ฟ ํ‚ค(Cookie)

2023. 3. 28. 22:00

  HTTP ํ”„๋กœํ† ์ฝœ ํ™˜๊ฒฝ์€ Connectionless์™€ Stateless ํ•œ ํŠน์„ฑ์„ ๊ฐ€์ง„๋‹ค. ์ฆ‰, ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์„œ๋กœ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ํŠน์„ฑ์ด ์žˆ๋‹ค. 
( Connectionless : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ํ•œ ํ›„ ์‘๋‹ต์„ ๋ฐ›์œผ๋ฉด ๊ทธ ์—ฐ๊ฒฐ์„ ๋Š์–ด ๋ฒ„๋ฆฌ๋Š” ํŠน์ง•
Stateless : ํ†ต์‹ ์ด ๋๋‚˜๋ฉด ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ํŠน์ง• )
  ์ด๋Š” ๋กœ๊ทธ์ธ๊ณผ ๊ฐ™์ด ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Cookie์™€ Session์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋ฒˆ ๊ธ€์„ ํ†ตํ•ด Cookie์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž.

 

1. ๊ฐœ๋… ๐Ÿ‘จ‍๐Ÿ’ป

  ์ฟ ํ‚ค(Cookie)๋ž€ ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €) ๋กœ์ปฌ์— ์ €์žฅ๋˜๋Š” ํ‚ค์™€ ๊ฐ’์ด ๋“ค์–ด์žˆ๋Š” ์ž‘์€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์ด๋‹ค. 
  ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ 

  • ์‚ฌ์šฉ์ž ์•„์ด๋”” ๋“ฑ์˜ ์ •๋ณด ์ €์žฅ - ์„ธ์…˜๊ด€๋ฆฌ
  • ์‚ฌ์šฉ์ž์—๊ฒŒ ์ ์ ˆํ•œ ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ - ๊ฐœ์ธํ™”
  • ์‚ฌ์šฉ์ž์˜ ํ–‰๋™๊ณผ ํŒจํ„ด์„ ๋ถ„์„ํ•˜๊ณ  ๊ธฐ๋ก - ํŠธ๋ž˜ํ‚น

๋“ฑ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

2. ํŠน์ง• ๐Ÿ‘จ‍โš•๏ธ

  • ์ฟ ํ‚ค๋Š” Key์™€ Value๋กœ ๊ตฌ์„ฑ๋˜๊ณ  Stringํ˜•ํƒœ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.
  • ์œ ํšจ ์‹œ๊ฐ„์„ ๋ช…์‹œํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋˜์–ด๋„ ์ธ์ฆ์ด ์œ ์ง€๋œ๋‹ค.
  • ํด๋ผ์ด์–ธํŠธ์— 300๊ฐœ๊นŒ์ง€ ์ฟ ํ‚ค๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ๋‹น 20๊ฐœ์˜ ๊ฐ’๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ณ  ํ•˜๋‚˜์˜ ์ฟ ํ‚ค๊ฐ’์€ 4KB(=4098byte)๊นŒ์ง€ ์ €์žฅ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ๋”ฐ๋กœ ์š”์ฒญํ•˜์ง€ ์•Š์•„๋„ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ Request์‹œ์— Request Header์— ๋„ฃ์–ด์„œ ์ž๋™์œผ๋กœ ์„œ๋ฒ„์— ์ „์†กํ•œ๋‹ค.

 

3. ๋™์ž‘ ์ˆœ์„œ ๐Ÿ‘จ‍โš–๏ธ

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญ
  2. ์„œ๋ฒ„์—์„œ ์ฟ ํ‚ค๋ฅผ ์ƒ์„ฑ
  3. HTTP ํ—ค๋”์— ์ฟ ํ‚ค๋ฅผ ํฌํ•จ์‹œ์ผœ ์‘๋‹ต
  4. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋˜์–ด๋„ ์ฟ ํ‚ค ๋งŒ๋ฃŒ ๊ธฐ๊ฐ„์ด ์žˆ๋‹ค๋ฉด ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ณด๊ด€ํ•˜๊ณ  ์žˆ์Œ
  5. ๊ฐ™์€ ์š”์ฒญ์„ ํ•  ๊ฒฝ์šฐ HTTP ํ—ค๋”์— ์ฟ ํ‚ค๋ฅผ ํ•จ๊ป˜ ๋ณด๋ƒ„
  6. ์„œ๋ฒ„์—์„œ ์ฟ ํ‚ค๋ฅผ ์ฝ์–ด ์ด์ „ ์ƒํƒœ ์ •๋ณด๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๋•Œ ์ฟ ํ‚ค๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ๋ณ€๊ฒฝ๋œ ์ฟ ํ‚ค๋ฅผ HTTP ํ—ค๋”์— ํฌํ•จ์‹œ์ผœ ์‘๋‹ต

 

4. ๊ตฌ์„ฑ ์š”์†Œ ๐Ÿ‘ฉ‍๐Ÿซ

  • ์ด๋ฆ„
    ๊ฐ๊ฐ์˜ ์ฟ ํ‚ค๋ฅผ ๊ตฌ๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฆ„
  • ๊ฐ’
    ์ฟ ํ‚ค์˜ ์ด๋ฆ„๊ณผ ๊ด€๋ จ๋œ ๊ฐ’
  • ์œ ํšจ์‹œ๊ฐ„
    ์ฟ ํ‚ค์˜ ์œ ์ง€์‹œ๊ฐ„
  • ๋„๋ฉ”์ธ
    ์ฟ ํ‚ค๋ฅผ ์ „์†กํ•  ๋„๋ฉ”์ธ
  • ๊ฒฝ๋กœ
    ์ฟ ํ‚ค๋ฅผ ์ „์†กํ•  ์š”์ฒญ ๊ฒฝ๋กœ

 

5. ์„ค์ • ๋ฐฉ๋ฒ• ๐Ÿ‘ฉ‍๐Ÿ”ฌ

// ์ƒ์„ฑ (์ด๋ฆ„๊ณผ ๊ฐ’์„ ํ•จ๊ป˜ ์ง€์ •)
Cookie cookie = new Cookie(String name, String value);
// ์œ ํšจ์‹œ๊ฐ„ ์„ค์ •
cookie.setMaxAge(int expiry); 
// ๋„๋ฉ”์ธ ์„ค์ •
cookie.setDomain(String domain);
// ๊ฒฝ๋กœ ์„ค์ •
cookie.setPath(String path);
// ์ƒ์„ฑ๋œ cookie๋ฅผ client์— ์ „์†ก
response.addCookie(cookie);

  ์œ ํšจ์‹œ๊ฐ„์€ ์ดˆ ๋‹จ์œ„๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋งŒ์•ฝ ํ•˜๋ฃจ๋ฅผ ์œ ํšจ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด 60 x 60 x 24๋ฅผ ๊ฐ’์œผ๋กœ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค.

 

6. ๋ฌธ์ œ์  ๋ฐ ์ฃผ์˜์  ๐Ÿ‘จ‍โœˆ๏ธ

  • HTTP ์š”์ฒญ ์‹œ ํ•ญ์ƒ ์ฟ ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ์— ํŠธ๋ž˜ํ”ฝ์„ ์ถ”๊ฐ€๋กœ ์œ ๋ฐœํ•œ๋‹ค.
  • '์ฃผ๋ฏผ๋ฒˆํ˜ธ, ์‹ ์šฉ์นด๋“œ ๋ฒˆํ˜ธ' ๋“ฑ ๋ณด์•ˆ์— ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋Š” ์ €์žฅํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.

 

ํ•ด๋‹น ๊ธ€์€
RyanGomdoriPooh ๋‹˜์˜ '์ฟ ํ‚ค์™€ ์„ธ์…˜ ๊ฐœ๋…',
๊น€์˜ํ•œ ๋‹˜์˜ '๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹'
์„ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

 

'๐Ÿ“‚ WEB' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์ฟ ํ‚ค์™€ ๋ณด์•ˆ ๋ฌธ์ œ  (0) 2023.04.29
์บ์‹œ(Cache) - ๊ฒ€์ฆ ํ—ค๋”์™€ ์กฐ๊ฑด๋ถ€ ์š”์ฒญ ํ—ค๋”  (0) 2023.03.29
์บ์‹œ(Cache)  (0) 2023.03.29
์„ธ์…˜(Session)  (0) 2023.03.28
    '๐Ÿ“‚ WEB' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ์ฟ ํ‚ค์™€ ๋ณด์•ˆ ๋ฌธ์ œ
    • ์บ์‹œ(Cache) - ๊ฒ€์ฆ ํ—ค๋”์™€ ์กฐ๊ฑด๋ถ€ ์š”์ฒญ ํ—ค๋”
    • ์บ์‹œ(Cache)
    • ์„ธ์…˜(Session)
    Amenable
    Amenable
    CS, ์ž๋ฐ”, ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์Šคํ”„๋ง, ์Šคํ”„๋ง ๋ถ€ํŠธ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”