๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
CS/Network

[๋„คํŠธ์›Œํฌ] Web Cache

by haerr 2025. 4. 19.

โœ… Web Caches (Proxy Server)

๐ŸŽฏ ๋ชฉํ‘œ

ํด๋ผ์ด์–ธํŠธ(์‚ฌ์šฉ์ž)๊ฐ€ ์›น์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์š”์ฒญํ–ˆ์„ ๋•Œ, ์›๋ž˜ ์„œ๋ฒ„๊นŒ์ง€ ๊ฐ€์ง€ ์•Š๊ณ ๋„ ๊ทธ ์š”์ฒญ์„ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค.

 

 

๐Ÿ‘ค ์‚ฌ์šฉ์ž ์„ค์ •

์‚ฌ์šฉ์ž๋Š” ์›น ๋ธŒ๋ผ์šฐ์ € ์„ค์ •์„ ํ†ตํ•ด ์บ์‹œ ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ ๋‹ค.

 

 

๐ŸŒ ๋ธŒ๋ผ์šฐ์ €์˜ ์š”์ฒญ ์ฒ˜๋ฆฌ ๋ฐฉ์‹

  1. ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ชจ๋“  HTTP ์š”์ฒญ์„ ์บ์‹œ ์„œ๋ฒ„์— ๋จผ์ € ๋ณด๋‚ธ๋‹ค.
  2. ์บ์‹œ ์„œ๋ฒ„์— ์ด๋ฏธ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์œผ๋ฉด:
    • ๋ฐ”๋กœ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  3. ์บ์‹œ ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฉด:
    • ์›๋ž˜ ์„œ๋ฒ„์—์„œ ๋ฐ›์•„์˜จ ๋’ค ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌํ•œ๋‹ค.

 

 

๐Ÿ” ์บ์‹œ๋Š” ๋‘ ๊ฐ€์ง€ ์—ญํ• ์„ ํ•œ๋‹ค

  • ํด๋ผ์ด์–ธํŠธ ์ž…์žฅ์—์„œ๋Š” ์„œ๋ฒ„์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค.
  • ์›๋ณธ ์„œ๋ฒ„ ์ž…์žฅ์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ์ฒ˜๋Ÿผ ํ–‰๋™ํ•œ๋‹ค.

 

๐Ÿ› ๏ธ ์บ์‹œ ์„ค์น˜ ์œ„์น˜

๋ณดํ†ต ์ธํ„ฐ๋„ท ์„œ๋น„์Šค ์ œ๊ณต์—…์ฒด(ISP)์—์„œ ์„ค์น˜ํ•˜๋ฉฐ,

๋Œ€ํ•™, ํšŒ์‚ฌ, ์•„ํŒŒํŠธ ๋‹จ์ง€ ์ธํ„ฐ๋„ท ๋“ฑ์—์„œ๋„ ํ™œ์šฉ๋œ๋‹ค.

 

 

๐Ÿ’ก ์›น ์บ์‹ฑ์ด ํ•„์š”ํ•œ ์ด์œ 

  • ์‘๋‹ต ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
  • ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
  • ๋งŽ์€ ์บ์‹œ๊ฐ€ ์ธํ„ฐ๋„ท์— ํผ์ ธ ์žˆ์œผ๋ฉด:
    • ์„œ๋ฒ„ ์„ฑ๋Šฅ์ด ๋ถ€์กฑํ•ด๋„ ์ฝ˜ํ…์ธ  ์ „๋‹ฌ์ด ์‰ฌ์›Œ์ง„๋‹ค.
    • (์•ฝ๊ฐ„ P2P ํŒŒ์ผ ๊ณต์œ ์ฒ˜๋Ÿผ ๋™์ž‘ํ•œ๋‹ค.)

 

๐Ÿ“Š Caching Example (์˜ˆ์‹œ)

์–ด๋–ค ์ƒํ™ฉ์„ ๊ฐ€์ •ํ•ด์„œ ์ˆซ์ž์™€ ํ•จ๊ป˜ ํšจ๊ณผ๋ฅผ ๋ถ„์„ํ•œ ์˜ˆ์‹œ์ด๋‹ค.

 

์˜ˆ์‹œ 1

  • ํ‰๊ท  ๊ฐ์ฒด ํฌ๊ธฐ: 1M๋น„ํŠธ
  • ์š”์ฒญ ์†๋„: ์ดˆ๋‹น 15๋ฒˆ
  • ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„: 15 Mbps
  • ์„œ๋ฒ„๊นŒ์ง€ ์™•๋ณต ์‹œ๊ฐ„: 2์ดˆ
  • ์ ‘์† ๋งํฌ ์†๋„: 15.4 Mbps

๊ฒฐ๊ณผ

  • LAN ํ™œ์šฉ๋„: 15%
  • ์ ‘์† ๋งํฌ ํ™œ์šฉ๋„: 97%
  • ์ด ์ง€์—ฐ ์‹œ๊ฐ„ = 2์ดˆ + ์ ‘์† ์ง€์—ฐ + LAN ์ง€์—ฐ

์˜ˆ์‹œ 2 (์†๋„ ํ–ฅ์ƒ)

  • ์œ„์™€ ๊ฐ™์ง€๋งŒ ์ ‘์† ๋งํฌ ์†๋„๋งŒ 154 Mbps๋กœ ์ฆ๊ฐ€

๊ฒฐ๊ณผ

  • LAN ํ™œ์šฉ๋„: 15%
  • ์ ‘์† ๋งํฌ ํ™œ์šฉ๋„: 9.7%
  • ์ด ์ง€์—ฐ ์‹œ๊ฐ„: 2์ดˆ + ๋ช‡ ๋ฐ€๋ฆฌ์ดˆ + ๋ช‡ ๋งˆ์ดํฌ๋กœ์ดˆ

์˜ˆ์‹œ 3 (๋‹ค์‹œ ๋‚ฎ์€ ์†๋„)

  • ์ฒ˜์Œ ๊ฐ€์ •๊ณผ ๊ฐ™์Œ (15.4 Mbps๋กœ ๋ณต๊ท€)

๊ฒฐ๊ณผ

  • LAN ํ™œ์šฉ๋„: 15%
  • ์ ‘์† ๋งํฌ ํ™œ์šฉ๋„: 100%
  • ์ด ์ง€์—ฐ ์‹œ๊ฐ„ = 2์ดˆ + ๋ถ„ + ๋งˆ์ดํฌ๋กœ์ดˆ

 

์บ์‹œ ์ ์ค‘๋ฅ ์ด 0.4์ผ ๋•Œ

  • ์ฆ‰, 40%๋Š” ์บ์‹œ์—์„œ ํ•ด๊ฒฐ๋˜๊ณ  60%๋Š” ์›๋ณธ ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌ๋˜๋Š” ์ƒํ™ฉ์ด๋‹ค.
  • ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ๋Š” ์ „์ฒด ์š”์ฒญ ์ค‘ ์ผ๋ถ€๋งŒ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ๊ฐ€๋ฏ€๋กœ
  • ์ง€์—ฐ ์‹œ๊ฐ„, ํŠธ๋ž˜ํ”ฝ์ด ๋ชจ๋‘ ์ค„์–ด๋“ ๋‹ค.

 

์—ฌ๊ธฐ์„œ ํ”„๋ก์‹œ ์„œ๋ฒ„์™€ ์บ์‹œ์˜ ๊ด€๊ณ„๋ฅผ ์•Œ์•„๋ณด์ž.

 

๐Ÿงฉ ํ”„๋ก์‹œ ์„œ๋ฒ„๋ž€?

ํ”„๋ก์‹œ(proxy) ์„œ๋ฒ„๋Š” ์ค‘๊ฐ„์—์„œ ๋Œ€์‹  ์ „๋‹ฌํ•ด์ฃผ๋Š” ์„œ๋ฒ„์ด๋‹ค.

 

๋‚ด๊ฐ€ ์ง์ ‘ ์š”์ฒญํ•˜๊ธด ๊ท€์ฐฎ์œผ๋‹ˆ๊นŒ ๋„ˆ(ํ”„๋ก์‹œ)๊ฐ€ ๋Œ€์‹  ๊ฐ€์„œ ๊ฐ€์ ธ์™€์ฃผ์‚ผ!

 

 

๐Ÿ“ฆ ์˜ˆ์‹œ

  • ์›น์‚ฌ์ดํŠธ์— ์ ‘์†ํ•  ๋•Œ,
  • ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹ค๊ณ  ํ•ด๋ณด์ž.
  • ๊ทธ๋Ÿฌ๋ฉด ๋‚˜์˜ ์š”์ฒญ์€ ๋จผ์ € ํ”„๋ก์‹œ ์„œ๋ฒ„์—๊ฒŒ ๊ฐ€๊ณ ,
  • ํ”„๋ก์‹œ ์„œ๋ฒ„๊ฐ€ ์›๋ณธ ์„œ๋ฒ„์— ๊ฐ€์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๊ฑฐ๋‚˜,
  • ์ž๊ธฐํ•œํ…Œ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ(์บ์‹œ)๋ฅผ ๋ฐ”๋กœ ์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.

 

์บ์‹œ๋ž‘ ๋ฌด์Šจ ๊ด€๊ณ„๊ฐ€ ์žˆ์„๊นŒ?

 

ํ”„๋ก์‹œ ์„œ๋ฒ„๋Š” ์บ์‹œ ๊ธฐ๋Šฅ์„ ๊ฐ–๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

 

์ฆ‰, ์–ด๋–ค ์›น ํŽ˜์ด์ง€๋‚˜ ํŒŒ์ผ์„ ํ•œ ๋ฒˆ ๋ฐ›์•„์˜ค๋ฉด

→ ๊ทธ๊ฑธ ์ €์žฅ(์บ์‹ฑ) ํ•ด๋’€๋‹ค๊ฐ€

๋‹ค์Œ์— ๊ฐ™์€ ์š”์ฒญ์ด ์˜ค๋ฉด ๋น ๋ฅด๊ฒŒ ์ „๋‹ฌํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

ํ”„๋ก์‹œ ์„œ๋ฒ„ ์ค‘๊ฐ„์— ์žˆ๋Š” ‘๋Œ€๋ฆฌ์ธ’ ์—ญํ• . ์š”์ฒญ์„ ๋Œ€์‹  ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜ ๋ฐ›์•„์ฃผ๋Š” ์„œ๋ฒ„
์บ์‹œ ๊ธฐ๋Šฅ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด๋‘๊ณ , ๋‚˜์ค‘์— ๋˜ ์š”์ฒญ์ด ์˜ค๋ฉด ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ
๊ด€๊ณ„ ํ”„๋ก์‹œ ์„œ๋ฒ„๋Š” ์บ์‹œ๋ฅผ ์ €์žฅํ•ด์„œ ๊ฐ™์€ ์š”์ฒญ์„ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค

 


๐Ÿง‚ ์กฐ๊ฑด๋ถ€ GET (Conditional GET)

๐ŸŽฏ ๋ชฉํ‘œ

์ด๋ฏธ ์บ์‹œ์— ์ตœ์‹  ๋ฒ„์ „์ด ์žˆ๋‹ค๋ฉด, ์„œ๋ฒ„์—์„œ ๋‹ค์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค.

 

 

๋™์ž‘ ๋ฐฉ์‹

  • ์บ์‹œ๋Š” ๊ฐ์ฒด๊ฐ€ ์ €์žฅ๋œ ๋‚ ์งœ ์ •๋ณด๋ฅผ ๋ณด๊ด€ํ•œ๋‹ค.
  • ์š”์ฒญํ•  ๋•Œ ๋ธŒ๋ผ์šฐ์ €๋Š” If-Modified-Since: <๋‚ ์งœ>๋ฅผ ํฌํ•จํ•ด์„œ ๋ณด๋‚ธ๋‹ค.
  • ์„œ๋ฒ„๋Š”:
    • ๊ฐ์ฒด๊ฐ€ ๊ทธ๋Œ€๋กœ๋ฉด(์ˆ˜์ •๋˜์ง€ ์•Š์œผ๋ฉด) 304 Not Modified๋งŒ ๋ณด๋‚ธ๋‹ค.
    • ๋ฐ์ดํ„ฐ๋Š” ๋ณด๋‚ด์ง€ ์•Š์Œ
    • ์ง€์—ฐ ์‹œ๊ฐ„๊ณผ ํŠธ๋ž˜ํ”ฝ์ด ์ ˆ์•ฝ๋œ๋‹ค