๋ฐ˜์‘ํ˜•

Cache-Control ํ—ค๋”: ํด๋ผ์ด์–ธํŠธ์™€ ์ค‘๊ฐ„ ์„œ๋ฒ„(Proxy, CDN ๋“ฑ)๊ฐ€ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์‘๋‹ต์„ ์บ์‹ฑํ• ์ง€ ์ง€์ •ํ•˜๋Š” ํ—ค๋”(ํŠน์ • ์‘๋‹ต์„ ์–ผ๋งˆ๋™์•ˆ, ์–ด๋–ป๊ฒŒ ์บ์‹ฑํ• ์ง€ ์ง€์ •).

 

์ •์ ์ธ ๋ฆฌ์†Œ์Šค


์ž˜ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ์ •์ ์ธ ๋ฆฌ์†Œ์Šค๋Š” ์žฅ๊ธฐ๊ฐ„ ์บ์‹œ
Cache-Control: public, max-age=31536000, immutable
  • public: ๋ธŒ๋ผ์šฐ์ €์™€ ์ค‘๊ฐ„ ์„œ๋ฒ„(ํ”„๋ก์‹œ, CDN ๋“ฑ) ๋ชจ๋‘ ์‘๋‹ต์„ ์บ์‹ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉ.
  • max-age=31536000: ์บ์‹œ ์ƒ์„ฑ ํ›„ 1๋…„(31, 536,000์ดˆ) ๋™์•ˆ fresh ์ƒํƒœ ์œ ์ง€.
  • immutable: ํ•œ ๋ฒˆ ์บ์‹œ ๋œ ํ›„ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Œ(๋ถˆํ•„์š”ํ•œ ์žฌ๊ฒ€์ฆ ์š”์ฒญ ๋ฐฉ์ง€).

 

 

๋™์ ์ธ ๋ฆฌ์†Œ์Šค


๋™์ ์ธ ๋ฆฌ์†Œ์Šค๋Š” ํ•ญ์ƒ ์ตœ์‹  ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งค๋ฒˆ ์„œ๋ฒ„์— ์žฌ๊ฒ€์ฆ
Cache-Control: no-cache, must-revalidate
  • no-cache: ์บ์‹œ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ ์ „ ๋งค๋ฒˆ ์›๋ณธ ์„œ๋ฒ„์— ์žฌ๊ฒ€์ฆ.
  • must-revalidate: ๋งŒ๋ฃŒ๋œ ์บ์‹œ ๋ฐ์ดํ„ฐ๋Š” ์›๋ณธ ์„œ๋ฒ„ ์žฌ๊ฒ€์ฆ ์—†์ด ์‚ฌ์šฉ ๋ถˆ๊ฐ€.

 

 

๊ธฐํƒ€ Cache-Control ์ง€์‹œ์–ด


๐Ÿ’ก fresh๋Š” ์บ์‹œ ๋œ ์‘๋‹ต์ด ์•„์ง ๋งŒ๋ฃŒ๋˜์ง€ ์•Š์•„ ์œ ํšจํ•œ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , stale์€ ์บ์‹œ ๋œ ์‘๋‹ต์ด ๋งŒ๋ฃŒ๋˜์–ด ์ตœ์‹  ์ƒํƒœ๊ฐ€ ์•„๋‹˜์„ ๋‚˜ํƒ€๋ƒ„. stale-while-revalidate ์ง€์‹œ์–ด ์‚ฌ์šฉ ์‹œ stale ์บ์‹œ๊ฐ€ ์žฌ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Œ.

 

  • private: ์‘๋‹ต์„ ์‚ฌ์šฉ์ž(๋ธŒ๋ผ์šฐ์ € ๋“ฑ) ์บ์‹œ์—๋งŒ ์ €์žฅํ•˜๊ณ , ์ค‘๊ฐ„ ์„œ๋ฒ„(CDN ๋“ฑ)์—๋Š” ์ €์žฅํ•˜์ง€ ์•Š๋„๋ก ์ง€์‹œ.
  • no-store: ๋ธŒ๋ผ์šฐ์ €์™€ ์ค‘๊ฐ„ ์„œ๋ฒ„ ๋ชจ๋‘ ์‘๋‹ต์„ ์ €์žฅํ•˜์ง€ ์•Š๋„๋ก ์ง€์‹œ(๋ฏผ๊ฐํ•œ ์ •๋ณด ์ฒ˜๋ฆฌ์— ์ ํ•ฉ).
  • stale-while-revalidate: ๋งŒ๋ฃŒ๋œ ์บ์‹œ๋ฅผ ์ž„์‹œ๋กœ ์ œ๊ณตํ•˜๊ณ , ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์žฌ๊ฒ€์ฆ/์บ์‹œ ์—…๋ฐ์ดํŠธ ์ˆ˜ํ–‰.
  • max-stale: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋งŒ๋ฃŒ๋œ ์‘๋‹ต์„ ํ—ˆ์šฉํ•˜๋Š” ์‹œ๊ฐ„. ์˜ˆ๋ฅผ ๋“ค์–ด ํด๋ผ์ด์–ธํŠธ์—์„œ max-stale=60 ์œผ๋กœ ์š”์ฒญํ•˜๋ฉด ์บ์‹œ ๋œ ์‘๋‹ต์ด ๋งŒ๋ฃŒ๋œ ํ›„ ์ตœ๋Œ€ 60์ดˆ๊นŒ์ง€๋Š” ํ—ˆ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋ƒ„. ๊ฐ’ ์—†์ด max-stale๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ๋งŒ๋ฃŒ๋œ ์‘๋‹ต๋„ ์‹œ๊ฐ„์ œํ•œ ์—†์ด ๋ฐ›์•„๋“ค์ธ๋‹ค๋Š” ์˜๋ฏธ.
  • min-fresh: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐ›๋Š” ์‘๋‹ต์ด ์ง€์ • ์‹œ๊ฐ„ ๋™์•ˆ fresh ํ•˜๋„๋ก ์š”๊ตฌ. ์˜ˆ๋ฅผ ๋“ค์–ด min-fresh=30 ์œผ๋กœ ์š”์ฒญํ•˜๋ฉด ์ตœ์†Œ 30์ดˆ ๋™์•ˆ fresh ์ƒํƒœ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ์‘๋‹ต๋งŒ ๋ฐ›๊ฒ ๋‹ค๋Š” ์˜๋ฏธ.
๋ฐ˜์‘ํ˜•