[HTTP] Cache-Control ํค๋
๋ฐ์ํ
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 ์ํ๋ก ์ ์งํ ์ ์๋ ์๋ต๋ง ๋ฐ๊ฒ ๋ค๋ ์๋ฏธ.
๋ฐ์ํ
'๐ช Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Next.js] API ๋ผ์ฐํธ ๋ณดํธํ๊ธฐ - Unkey (0) | 2025.03.30 |
---|---|
[Next.js] dnd-kit์ ํ์ฉํ ์นธ๋ฐ(Kanban) ๋ณด๋ ๋๋๊ทธ ์ค ๋๋กญ ๊ตฌํ (0) | 2025.03.18 |
[UI] Shadcn DropdownMenu์์ Dialog ์๋ ๋ซํ ๋ฌธ์ ํด๊ฒฐ (0) | 2025.03.09 |
[CSS] :focus, :focus-visible ์ฐจ์ด์ (1) | 2025.03.06 |
[JS] ์๋ฐ์คํฌ๋ฆฝํธ ๋๋ค ์์(Random Color) ์์ฑํ๊ธฐ (0) | 2025.03.04 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[Next.js] API ๋ผ์ฐํธ ๋ณดํธํ๊ธฐ - Unkey
[Next.js] API ๋ผ์ฐํธ ๋ณดํธํ๊ธฐ - Unkey
2025.03.30 -
[Next.js] dnd-kit์ ํ์ฉํ ์นธ๋ฐ(Kanban) ๋ณด๋ ๋๋๊ทธ ์ค ๋๋กญ ๊ตฌํ
[Next.js] dnd-kit์ ํ์ฉํ ์นธ๋ฐ(Kanban) ๋ณด๋ ๋๋๊ทธ ์ค ๋๋กญ ๊ตฌํ
2025.03.18 -
[UI] Shadcn DropdownMenu์์ Dialog ์๋ ๋ซํ ๋ฌธ์ ํด๊ฒฐ
[UI] Shadcn DropdownMenu์์ Dialog ์๋ ๋ซํ ๋ฌธ์ ํด๊ฒฐ
2025.03.09 -
[CSS] :focus, :focus-visible ์ฐจ์ด์
[CSS] :focus, :focus-visible ์ฐจ์ด์
2025.03.06