πͺ Programming
[HTTP] Cache-Control ν€λ
ColorFilter
2025. 3. 31. 22:44
λ°μν
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 μνλ‘ μ μ§ν μ μλ μλ΅λ§ λ°κ² λ€λ μλ―Έ.
λ°μν