์ธ์ ์ฌ์ฉํ ๊น?
- Conditional GET์ ์ด์ฉํ์ฌ ํธ๋ํฝ์ ์ค์ผ ์ ์์ผ๋, Round Trip์ ์ค์ผ ์ ์๋ค.
- Round Trip
- ํจํท์ด ๋ณด๋ด์ง๊ณ ์๋ต์ ๋ฐ์ ๋๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ
- ์ฆ, ๋ฆฌ์์ค์ ๋ณ๊ฒฝ ์ฌ์ค์ ํ์ธํ๊ธฐ ์ํด์๋ผ๋ฉด ์ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต์ ๊ธฐ๋ค๋ ค์ผ ํ๋ค.
- ์ ์๋ฒ๊ฐ ๋ฉ๋ฆฌ ์๋ค๋ฉด ์ด ์ง์ฐ์ด ์๋ฐฑ ms์ผ ์ ์๋ค.
- ์ด ์ง์ฐ๊น์ง ์ค์ด๊ณ ์ถ์ด ํ์ํ๊ฒ ๋ ๊ฐ๋
์ฉ์ด
- Fresh (์ ์ ํ): freshness_lifetime > current_age
- Stale (์ํ): freshness_lifetime โ current_age
๋ธ๋ผ์ฐ์ ์บ์
- ์บ์๋ ์๋ต์ด ์์ง freshํ ๊ฒฝ์ฐ
- ๋ธ๋ผ์ฐ์ ๋ด์ ์ ์ฅ๋ ๊ฐ ๋ฐํ (Read from disk)
- ์บ์๋ ์๋ต์ด staleํ ๊ฒฝ์ฐ
- ์๋ฒ๋ก ์์ฒญ์ ๋ณด๋ (Validation)
- ๋ฆฌ์์ค ๋ณ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐ
- 304 Not Modified
- body ์์
- ๋ฆฌ์์ค ๋ณ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐ
Cache-control
- ์์ ์ Pragma๋ก ์ฌ์ฉ
- HTTP 1.1 Spec
- ํด๋น ์บ์ ๋์์ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด ์๋ฒ์์ ํด๋น ํค๋๋ฅผ ๋ณ๊ฒฝํ๋ฉด ๋๋ค.
- Expire์ ๊ฒฝ์ฐ ์ ๋ ์๊ฐ ํํ์ด๋ ํด๋น ํค๋๋ ์๋์๊ฐ ํํ ๊ฐ๋ฅ