기본 ꡬ쑰
cacheControlHandler
κ° μμ²μ λν΄ Cache-Control ν€λλ₯Ό λμ μΌλ‘ μμ±νλ ν¨μμ λλ€. νμ :(req: CacheControlRequest) => string | undefined
μμ² νμ
type:"assets"- μ μ νμΌ (JS, CSS, μ΄λ―Έμ§ λ±)"api"- API μλν¬μΈνΈ"ssr"- SSR νμ΄μ§"csr"- CSR μ§μ μ (index.html)
GET, POST, PUT, DELETE λ±)
path: μμ² κ²½λ‘ (/api/user/list, /assets/main.js λ±)
CachePresets
Sonamuκ° μ 곡νλ μ¬μ μ μλ μΊμ± μ λ΅μ λλ€.μ¬μ© κ°λ₯ν Presets
CachePresets.noCache- νμ μλ³Έ μλ²μμ μ΅μ λ²μ νμΈ
- μ©λ: μ€μκ° λ°μ΄ν°, μΈμ¦μ΄ νμν API
- 1λΆκ° μΊμ
- μ©λ: μμ£Ό λ³κ²½λλ λ°μ΄ν°, CSR μ§μ μ
- 5λΆκ° μΊμ
- μ©λ: λ³΄ν΅ μ£ΌκΈ°λ‘ λ³κ²½λλ λ°μ΄ν°
- 1μκ° μΊμ
- μ©λ: κ±°μ λ³κ²½λμ§ μλ μ μ λ°μ΄ν°
- 1λ κ° μΊμ, λ³κ²½λμ§ μμ
- μ©λ: ν΄μκ° ν¬ν¨λ λΉλ νμΌ
- 10μ΄κ° μΊμ, λ°±κ·ΈλΌμ΄λμμ κ°±μ
- μ©λ: SSR νμ΄μ§
κΈ°λ³Έ μμ
λ¨μ μ€μ
Assets μΈλΆν
ν΄μκ° ν¬ν¨λ νμΌμ μꡬ μΊμ, κ·Έ μΈλ μΌλ° μΊμ:API κ²½λ‘λ³ μΊμ±
GET μμ²λ§ μ νμ μΌλ‘ μΊμ:μ€μ μμ
νμ€ μΉ μ±
CDN μ΅μ ν
κ°λ° vs νλ‘λμ
컀μ€ν Cache-Control
Presetμ΄ μλ μ§μ ν€λ κ°μ λ°νν μλ μμ΅λλ€:Cache-Control μ΄ν΄νκΈ°
μ£Όμ λλ ν°λΈ
public- CDNκ³Ό μ€κ° νλ‘μμμλ μΊμ κ°λ₯
- μ μ νμΌ, κ³΅κ° APIμ μ ν©
- λΈλΌμ°μ λ§ μΊμ κ°λ₯
- κ°μΈνλ λ°μ΄ν°μ μ ν©
- μΊμλ νλ λ§€λ² μλ³Έ κ²μ¦ νμ
- μ‘°κ±΄λΆ μμ² (304 Not Modified) κ°λ₯
- μ΄λμλ μΊμνμ§ μμ
- λ―Όκ°ν λ°μ΄ν°μ μ¬μ©
- Nμ΄ λμ μ μ ν(fresh) μν
- μ΄ κΈ°κ° λμμ μ¬κ²μ¦ μμ΄ μΊμ μ¬μ©
- μ λ λ³κ²½λμ§ μμ
- λΈλΌμ°μ κ° μ¬κ²μ¦μ 건λλ
- ν΄μ κΈ°λ° νμΌμ μ΅μ
- λ§λ£ ν Nμ΄ λμ stale λ²μ λ°ν
- λ°±κ·ΈλΌμ΄λμμ κ°±μ
- SSR νμ΄μ§μ μ μ©
μμ μ‘°ν©
undefined λ°ν
ν€λλ₯Ό μ€μ νμ§ μμΌλ €λ©΄undefinedλ₯Ό λ°νν©λλ€:
μ£Όμμ¬ν
1. μΈμ¦μ΄ νμν API
2. POST/PUT/DELETEλ μΊμ μ ν¨
3. ν΄μ κΈ°λ° νμΌ κ°μ§
λ€μ λ¨κ³
Cache-Control μ€μ μ μλ£νλ€λ©΄:- cache - μλ² μ¬μ΄λ μΊμ± (BentoCache)
- compress - μλ΅ μμΆ μ€μ
- advanced-features/ssr - SSRμμ Cache-Control νμ©