Cache
๋ ์ปดํจํฐ ์ฌ์ด์ธ์ค์์ data๋ ๊ฐ์ ๋ณต์ฌํด๋๋ ์์ ์ ์ฅ์๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ์ปดํจํฐ ์ฌ์ด์ธ์ค์์ ๋ค๋ฃจ๋ ์บ์๋ ์ฌ๋ฌ๊ฐ์ง ์ข
๋ฅ๊ฐ ์์ง๋ง ์ฌ๊ธฐ์๋ web cache
์ ๋ํด ์์๋ณด์.

web cache
๋๋ ***HTTP cache
***๋ ์๋ฒ ์ง์ฐ์ ์ค์ด๊ธฐ ์ํด ์น ํ์ด์ง, ์ด๋ฏธ์ง, ๊ธฐํ ์ ํ์ ์น ๋ฉํฐ๋ฏธ๋์ด ๋ฑ์ ์น ๋ฌธ์๋ค์ ์์ ์ ์ฅํ๊ธฐ ์ํ ์ ๋ณด๊ธฐ์ ์ด๋ค. ์น ์บ์ ์์คํ
์ ์ด๋ฅผ ํต๊ณผํ๋ ๋ฌธ์๋ค์ ์ฌ๋ณธ์ ์ ์ฅํ๋ฉฐ ์ดํ ์์ฒญ๋ค์ ํน์ ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ ๊ฒฝ์ฐ ์บ์ํ๊ฐ ๊ฐ๋ฅํ๋ค. ์น ์บ์ ์์คํ
์ ์ผ์ข
์ ์ดํ๋ผ์ด์ธ์ค๋ ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ์๋ฏธํ ์ ์๋ค. ๋์ผํ ์๋ฒ์ ๋ค์ ์ ๊ทผํ ๋์๋ ๊ทผ์ฒ์ ์๋ ํ๋ก์ ์๋ฒ์ ์น ์บ์์ ์ ์ฅ๋ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ค๋ฏ๋ก ๋ ๋น ๋ฅธ ์ด๋์ด ๊ฐ๋ฅํ๋ค ์ถ์ฒ:์ํคํผ๋์
web cache
๋ ์ ์ฉ ๋์์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ด ๋๋ ์ ์๋ค.
- Browser Cache
โ ๏ธ์น ๋ธ๋ผ์ฐ์ ๋๋ HTTP ์์ฒญ์ ํ๋ client์ ์ํด ์บ์๋๋๊ฒ
โ ๊ฐ์ธ์ ํ์
โ ์น ๋ธ๋ผ์ฐ์ back button ๋๋ ์ด๋ฏธ ๋ฐฉ๋ฌธํ ํ์ด์ง๋ฅผ ์ฌ๋ฐฉ๋ฌธ ํ๋ ๊ฒฝ์ฐ
2. Proxy Cache
โ Browser Cache์ ๋์ผํ ์๋ฆฌ๋ก ๋์ํ๋ฉฐ ๋คํธ์ํฌ ์์์ ๋์
โ ๋คํธ์ํฌ ๋์ญ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋๊ฒ๊ณผ ํน์ ์น์ฌ์ดํธ์ ๋ํ ์ก์ธ์ค ์ ํ์ ๋ชฉ์
3. Gateway Cache
โ ์๋ฒ ์๋จ์ ์ค์น๋์ด ์์ผ๋ฉฐ ์์ฒญ์ ๋ํ ์บ์ฑ ๋ฐ ํจ์จ์ ์ธ ๋ถ๋ฐฐ๋ฅผ ํตํด ์ฑ๋ฅํฅ์
โ load balancing, SSL acceleration, compression ๋ฑ์ ์ํ
โ ๋ฌดํ๋์ client๋ค์๊ฒ ํ์ ๋ ์์ ์น ์๋ฒ ์ปจํ
์ธ ์ ๊ณต
๊ฒ์ฆ ํค๋์ ์กฐ๊ฑด๋ถ์์ฒญ
client์์ ์๋ฒ๋ก ์์ฒญ์ ํ ๊ฒฝ์ฐ ์๋ฒ์์ ๊ธฐ์กด๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ํ์ง ์์ ๋๊ฐ์ง ์ํฉ์ด ์์ ์ ์๋ค. ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ์๋ ์๋กญ๊ฒ ๋ค์ด๋ก๋ํ์ฌ cache๋ฅผ ๊ฐฑ์ ํ๋๊ฒ ํฉ๋ฆฌ์ ์ด์ง๋ง, ๋ณ๊ฒฝ์ด ์๋ค๋ฉด ๊ตณ์ด ๋ค์ด๋ก๋๊ฐ ํ์์๋ค. ์ด๋ด๋ ์ฌ์ฉ๋๋๊ฒ์ด ๊ฒ์ฆํค๋์ ์กฐ๊ฑด๋ถ ์์ฒญ์ด๋ค.
์ฒ์ ์๋ต์ Last-Modified
๋ผ๋ header๋ฅผ ๋ฃ์ด ๋ฐ์ดํฐ๊ฐ ๋ง์ง๋ง์ ์์ ๋ ์๊ฐ์ ํ์ธ ํ ์ ์๋ค.
cache ์ ์ฅ ์๊ฐ์ด ์ง๋ ํ ์์ฒญ์ ๋ณด๋ผ๋ ์ต์ข
์์ ์ผ์ if-modified-since
๋ผ๋ header์ ๋ฃ์ด์ ๋ณด๋ผ ๊ฒฝ์ฐ, ์๋ฒ์์๋ ์ต์ข
์์ ์ผ์ ๋น๊ตํ๊ฒ ๋๊ณ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ์ ๋ฌด๋ฅผ ํ์ธํ๊ฒ ๋๋ค. ๋ณ๊ฒฝ์ด ์์ ๊ฒฝ์ฐ 304(Not Modified)
์๋ต์ ๋ณด๋ด๋ฉฐ client๋ ์ด ์๋ต์ ํ์ธ ๋ค cache๋ฅผ ๋ค์ ์ฌ์ฉํ๋ค.
Cache-Control policy
public
: ์์ฒญ์ด ๊ฑฐ์ณ๊ฐ๋ ๋ชจ๋ ์๋ฒ๊ฐ cache๋ฅผ ํ ์ ์๋ค.
private
: ์์ฒญ์ด ๊ฑฐ์ณ๊ฐ๋ ๋ชจ๋ ์๋ฒ๊ฐ ์๋ end-to-end์ ๋ธ๋ผ์ฐ์ ๋ง cache๋ฅผ ์ ์ฅํ ์ ์๋ค. (๋ชจ๋ cache-control policy๋ private์ default๋ก ํ๋ค)
s-maxage
: proxy cache์๋ง ์ ์ฉ๋๋ max-age
max-age
: cache๊ฐ ์ ํจํ ์๊ฐ์ ์ง์ (second ๋จ์). * ํ๋ฒ ๋ธ๋ผ์ฐ์ ์ cache๊ฐ ์ ์ฅ๋๋ฉด ๋ง๋ฃ๋ ๋๊น์ง ๊ณ์ ๋ธ๋ผ์ฐ์ ์ ๋จ์์๊ฒ ๋๋ค.
no-cache
: max-age=0
๊ณผ ๋์ผ. ์ ์ฅ์ ํ์ง๋ง ์ฌ์ฉํ ๋๋ง๋ค ์ฌ๊ฒ์ฆ์ ์์ฒญํ๋ค.
no-store
: cache๋ฅผ ํ์ง ์์๋ ์ฌ์ฉํ๋ค. no-cache
์ ์ฐจ์ด์ ์ ์ ์ฅ์ ํ์ง ์๋๋ค๋๊ฒ.
CDN
CDN
์ด๋ Content Delivery Network
์ ์ฝ์๋ก, proxy ์๋ฒ์ ๊ธฐ๋ฐํ web cache์ cloudํ ๋ผ๊ณ ํ ์ ์๊ณ , ์ ์ธ๊ณ ์ฌ์ฉ์๋ค์๊ฒ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก contents๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ฑ์ฅํ๋ค. CDN์ ๊ฐ ์ง์ญ์ cache ์๋ฒ(PoP, Points of presence)๋ฅผ ๋ถ์ฐ ๋ฐฐ์นํด, ๊ทผ์ ํ ์ฌ์ฉ์์ ์์ฒญ์ ์๋ณธ ์๋ฒ๊ฐ ์๋ cache ์๋ฒ๊ฐ ์๋ต์ ์ ๋ฌํ๋ค.
CDN
์ ์บ์์๋ฒ๋ฅผ ์ด์ฉํ๊ธฐ ๋๋ฌธ์, ์๋ฅผ๋ค์ด ๊ฐ์ ํ์ผ๋ช
์ ๋ํด image๋ฅผ ๋ค์ upload ํ๋ ๊ฒฝ์ฐ ์๋ก์ด ๋ด์ฉ์ ์ธ์ํ์ง ๋ชปํ์ฌ ์ค์ ๋ก ๋ณ๊ฒฝ image๊ฐ ์ ๋ฐ์๋์ง ์๋ ์ด์๊ฐ ์๋ค. ์ด ๋, image ํ์ผ ๋ค์ ๋ํด ์๋ก cache๋ฅผ refresh ํ๋ ๋์์ purge
๋ผ๊ณ ํ๋ค.