ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด, ์ ๋ง ๋ง์ด ๋ง์ฃผํ๊ณ ์ฌ์ฉํ๋๊ฒ ์บ์๋ค. ๊ทธ ์ฐ์์๋, ๊ณต์ ๋๋ ํ๊ฒฝ๋ ๋ค์ํ๋ค.
์บ์์ ๋ํด์ ํ๋ฒ ์ ๋ฆฌํ์๋ ๋ง์์ผ๋ก, ์น ์บ์ฑ์ ๊ณต๋ถํ๊ณ ์๋ค. ๊ทธ ์ค ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋ธ๋ผ์ฐ์ ์บ์์ ๋ํด์ ์ ๋ฆฌํด๋ณด๋ ค ํ๋ค.
์น ์บ์๋ ์ฐจ๋ก๋๋กย ์๋น์ค ์์ปค ์บ์ โ ๋ธ๋ผ์ฐ์ ์บ์ โ CDN(or ํ๋ก์ ์๋ฒ ์บ์)ย ์์ผ๋ก ์ฐธ์กฐ๋๋ฉฐ, ๋ชจ๋ ์บ์์ ์ ํจํ ์๋ต(๋ฐ์ดํฐ)์ด ์์ ๊ฒฝ์ฐ์๋ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด์ ์๋ต์ ๋ฐ๊ฒ ๋๋ค.
๋ธ๋ผ์ฐ์ ์บ์๋ ์น ๋ฆฌ์์ค(HTML, CSS, JS, ์ด๋ฏธ์ง ๋ฑ)๋ฅผ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ก์ปฌ์ ์ ์ฅํด๋๊ณ , ๋ค์ ์์ฒญ ์ ๋คํธ์ํฌ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๋น ๋ฅด๊ฒ ์๋ตํ ์ ์๋๋ก ํ๋ ๋ฉ์ปค๋์ฆ์ด๋ค.
์ ์ฅ ์์น๋ ๋ธ๋ผ์ฐ์ ์ ๋ด๋ถ ์ ์ฑ , ๋ฆฌ์์ค ํฌ๊ธฐ, ๋ง๋ฃ ๊ธฐ๊ฐ ๋ฑ์ ๋ฐ๋ผ ์บ์๋ ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ์ ์ ์ฅ๋๋ค.
์ ์ฅ ์์น | ํน์ง | ์์ ๋ฆฌ์์ค |
---|---|---|
๋ฉ๋ชจ๋ฆฌ ์บ์ | ๋น ๋ฅด๊ณ ํ๋ฐ์ฑ (ํญ ๋ซํ๋ฉด ์ฌ๋ผ์ง), ํญ ๋ด๋ถ ์ ์ฉ | JSON ์๋ต, ์์ ๋ฆฌ์์ค |
๋์คํฌ ์บ์ | ๋ธ๋ผ์ฐ์ ์ ์ฒด์์ ๊ณต์ , ๋ธ๋ผ์ฐ์ ์ข ๋ฃ ํ์๋ ์ ์ง | JS, CSS, ์ด๋ฏธ์ง ๋ฑ |
DevTools๋ฅผ ์ด์ด๋ณด๋ฉด, ๋ธ๋ผ์ฐ์ ์บ์๊ฐ ์ด๋์ ์ ์ฅ๋์ด์๋ ์ง ํ์ธํ ์ ์๋ค.
ํฌ๋กฌ์ ๊ฒฝ์ฐ, ์ฌ์ฉ์ ๊ณ์ ๋ณ๋ก ๋์คํฌ์ ์บ์๋ฅผ ์ ์ฅํ๊ณ ์๋ค.
ํฌ๋กฌ ์บ์ ํด๋์ ํ์์ Default
, Profile1
ํด๋๊ฐ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ๋ฐ๋ก ํฌ๋กฌ์ ๋ก๊ทธ์ธํ ๊ณ์ ๋ณ ๋์คํฌ ์บ์๋ฅผ ๋ด๊ณ ์๋ ํด๋์ด๋ค.
์บ์๊ฐ ์ ํจ ๊ธฐ๊ฐ๊ณผ ์ ์ฅ ์ฅ์๋ฅผ ์๊ฐํด๋ณด๋ฉด, ๊ณต์ ๋๋ ํ๊ฒฝ์ธ์ง ํ๋จํ๊ธฐ ์ฝ๋ค.
๋ธ๋ผ์ฐ์ ์บ์์ ์ ์ฅ ์ฌ๋ถ์ ์ ํจ ๊ธฐ๊ฐ์ ์๋ฒ๊ฐ, ์ฌ์ฉ ์ฌ๋ถ๋ ํด๋ผ์ด์ธํธ๊ฐ ๊ฒฐ์ ํ๋ค.
์ญํ | ์ฃผ์ ํค๋ |
---|---|
์ ์ฅ ์ฌ๋ถ | Cache-Control: no-store , private , public . โฆ. |
์ ํจ ๊ธฐ๊ฐ | max-age , Expires |
๋ณ๊ฒฝ ํ์ธ | ETag , Last-Modified |
๐คย max-age
์ Expires
์ ์ฐจ์ด?
Cache-Control:max-age
: ํ์ฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ํจํ ๊ธฐ๊ฐ, ์บ์ ์ ํจ ์๊ฐ์ ์ด ๋จ์๋ก ์ง์ Expires
: ํน์ ๋ง๋ฃ ๋ ์ง์ ์๊ฐ์ ์ง์ ํ๋ฉฐ, ํด๋ผ์ด์ธํธ์ ์๋ฒ ์๊ฐ ์ฐจ์ด ๋ฌธ์ ๊ฐ ์์ ์ ์๋ค.โ ๏ธ Last-Modified
ํ๊ณ
fetch(url, { cache: 'no-cache' });
์ต์ | ์๋ฏธ | ์๋ฒ ์์ฒญ ์ฌ๋ถ | ์บ์ ์ ์ฅ ์ฌ๋ถ |
---|---|---|---|
no-store | ์ ์ฅ๋ ์ฌ์ฉ๋ ๊ธ์ง | โ ํญ์ ์์ฒญ | โ ์ ์ฅํ์ง ์์ |
no-cache | ์ฌ์ฉ ์ ์ฌ๊ฒ์ฆ | โ ์กฐ๊ฑด๋ถ ์์ฒญ | โ ์๋ฒ๊ฐ ํ์ฉํ๋ฉด ์ ์ฅ |
must-revalidate | ๋ง๋ฃ๋๋ฉด ๋ฐ๋์ ์ฌ๊ฒ์ฆ | โ ๋คํธ์ํฌ ์์ผ๋ฉด ์คํจ ๊ฐ๋ฅ | โ ์๋ฒ๊ฐ ํ์ฉํ๋ฉด ์ ์ฅ |
reload | ๋ฌด์กฐ๊ฑด ์ ์์ฒญ | โ ํญ์ ์์ฒญ | โ ์๋ฒ๊ฐ ํ์ฉํ๋ฉด ์ ์ฅ |
force-cache | ์บ์ ๋ฌด์กฐ๊ฑด ์ฌ์ฉ | โ | โ ์๋ก ์ ์ฅํ์ง ์์ (๊ธฐ์กด ์บ์๋ง ์ฌ์ฉ) |
only-if-cached | ์บ์ ์์ผ๋ฉด ์คํจ | โ | โ ์๋ก ์ ์ฅํ์ง ์์ (๊ธฐ์กด ์บ์๋ง ์ฌ์ฉ) |
force-cache
, only-if-cached
์์ฒญ์ ํ๊ณ ์๋ค๋ฉด?๋ธ๋ผ์ฐ์ ๋ ์๋ฒ์ ์บ์ ์ ์ฑ ์ ๋ฐ๋ฅด์ง๋ง, ํด๋ผ์ด์ธํธ ์ค์ ์ด ์ฐ์ ์ ์ฉ๋๋ค.
force-cache
์ต์
์ ์ฌ์ฉํ๋ค๋ฉด, ๋ง๋ฃ๋ ์บ์๋ผ๋ ์ด๋ฅผ ๊ฐ์ ๋ก ์ฌ์ฉํ๋ค.
only-if-cached
์ต์
์ ์บ์๊ฐ ์๋ค๋ฉด ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก, ๋ง๋ฃ๋ ์บ์๋ฅผ ์ฌ์ฉํ ์ ์๊ณ ์๋ฒ์ ์ฌ์์ฒญ์ ํ์ง ์๊ธฐ ๋๋ฌธ์ net::ERR_CACHE_MISS
์ค๋ฅ๊ฐ ๋๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์บ์ ์ฌ์ฉ์ ์์ฒญํ๋ค๋ฉด ์ด๋ค ํ๋ก์ธ์ค๋ฅผ ๊ฑฐ์น๊ฒ ๋ ๊น?
1๏ธโฃ ๋ธ๋ผ์ฐ์ ๊ฐ ์บ์ ์ ์ฅ์(๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ)์์ ํด๋น ๋ฆฌ์์ค๋ฅผ ์กฐํ
2๏ธโฃ ์๋ฒ์ ์๋ต ํค๋ ๊ธฐ๋ฐ์ผ๋ก ์ ํจ์ฑ ํ๋จ (Cache-Control, Expires)
3๏ธโฃ ์๋ฒ๊ฐ ์ฌ๊ฒ์ฆ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋๊ฐ? (ETag, Last-Modified)
If-None-Match
, If-Modified-Since
)4๏ธโฃ ์ฌ๊ฒ์ฆ ์งํ, ์๋ฒ ์๋ต ๊ฒฐ๊ณผ ํ์ธ
304 Not Modified
โ ๊ธฐ์กด ์บ์ ์ฌ์ฌ์ฉ200 OK
โ ์ ๋ฆฌ์์ค๋ก ์บ์ ๊ฐฑ์ (์๋ฒ๊ฐ ์ ์ฅ ํ์ฉ ์)5๏ธโฃ ์ฌ๊ฒ์ฆ ์งํํ์ง ์๋ ๊ฒฝ์ฐ
If-None-Match
, If-Modified-Since
์ ๋น๊ต๊ฐ์ ์ด๋ป๊ฒ ์ค์ ํ๋๊ฑฐ์ง?If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT
If-None-Match: W/"67ab43", "54ed21", "7892dd"
๋ณ๊ฒฝ ์ฌ๋ถ๋ฅผ ํ๋จํ๊ธฐ ์ํด, If-None-Match
, If-Modified-Since
์๋ ์ด์ ๋ฆฌ์์ค์ ๊ฐ์ด ๋ค์ด๊ฐ์ผํ๋ค.
๋ฆฌ์์ค๊ฐ ์บ์๋ ๋, ์๋ฒ ์๋ต ํค๋์ ์๋ ETag
, Last-Modified
๊ฐ ๊ฐ์ด ์ ์ฅ๋๋ค.
์ฌ๊ฒ์ฆ ๋จ๊ณ์์ ๋ธ๋ผ์ฐ์ ๋ ETag
๋๋ Last-Modified
๊ฐ ์๋ค๋ฉด ์บ์ฑ๋ ๋ฆฌ์์ค๋ฅผ ํ์ฉํด ์๋์ผ๋ก If-None-Match
๋๋ If-Modified-Since
๋ฅผ ํด๋ผ์ด์ธํธ์ ์์ฒญ ํค๋์ ์ถ๊ฐํ๋ค.
no-cache
, must-revalidate
๋ชจ๋ ๋ฆฌ์์ค๋ฅผ ์ฌ๊ฒ์ฆํ๋๋ฐ ๋ฌด์จ ์ฐจ์ด์ธ๊ฑฐ์ง?no-cache
๋ '์บ์๋ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง, ์ฌ์ฉ ์ ์ ์๋ฒ์์ ๋ฆฌ์์ค๋ฅผ ์ฌ๊ฒ์ฆ ๋ฐ์์ผ ํด!'๋ผ๋ ์ต์
์ด๋ค. ๋ง์ฝ ์ค๊ฐ์ ๋คํธ์ํฌ๊ฐ ๋๊ธด๋ค๋ฉด, ์๋ฒ์ ์ฌ๊ฒ์ฆ์ ๋ฐ์ง ๋ชปํ์ง๋ง ๋ธ๋ผ์ฐ์ ๊ฐ ์์ฒด์ ์ผ๋ก ํ๋จํด ์บ์ฑ๋ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฌ์ฉํ ์ ์๋ค. ์ด๋ฅผ '๋์จํ ์ ์ฑ
'์ด๋ผํ๋ค.
๋ฐ๋ฉด, must-revalidate
๋ ์ฌ๊ฒ์ฆ์ ๋ฌด์กฐ๊ฑด ๊ฐ์ ํ๋ ๊ฒ์ผ๋ก ๋คํธ์ํฌ๊ฐ ๋๊ธฐ๋ฉด, ์บ์ฑ๋ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
๊ทธ๋์ ๋ฆฌ์์ค ์ฌ๊ฒ์ฆ์ ์๊ฒฉํ๊ฒ ์ ์ฉํ๊ณ ์ถ์ ๋ ๋ ์ต์ ์ ๊ฐ์ด ์ฌ์ฉํ๊ณค ํ๋ค.
๐ง ์ฌ์ฉ์์๊ฒ ์ต์ ๋ฆฌ์์ค๋ฅผ ์์ ์ ์ผ๋ก ์ ๋ฌํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น?
๋ธ๋ผ์ฐ์ ์บ์์ ์ฅ์ ์ ์ฑ๋ฅ์ด์ง๋ง, ๋๋ก๋ ์ด ์บ์ ๋๋ฌธ์ ๋ณ๊ฒฝ๋ ํ์ผ์ด ๋ฐ์๋์ง ์๋ ๋ฌธ์ ๊ฐ ์๊ธฐ๊ธฐ๋ ํ๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ํ์ ์ธ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก ์บ์ ๋ฌดํจํ์ ์บ์ ๋ฒ์คํ
์ด๋ค.
์บ์ ๋ฌดํจํ๋, ๋ ์ด์ ์ ํจํ์ง ์์ ์บ์๋ฅผ ์ฌ์ฉํ์ง ์๋๋ก ๋ง๋๋ ๊ฒ์ด๋ค.
๋ฐฉ์ | ์ ์ด ์์น | ์์ |
---|---|---|
์๋ฒ | ์๋ต ํค๋ | no-store , must-revalidate , ETag , max-age |
ํด๋ผ์ด์ธํธ | ์์ฒญ ์ต์ | no-cache , reload , ์๋ก๊ณ ์นจ ๋ฑ |
๋ณ๊ฒฝ๋ ํ์ผ์ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ์ ์ฅ/์์ฒญํ์ฌ ์บ์๋ฅผ ๋ฌด์ํ๊ณ ์๋ก ๋ฐ๋๋ก ํ๋ ์ ๋ต์ด๋ค. ์ด๋ ์ ์ ์์์ ์ต์ ํํ ๋ ์ฌ์ฉํ๋ค.
๊ทธ ๋ฐฉ๋ฒ์ผ๋ก๋ ํด์ ๊ธฐ๋ฐ ํ์ผ๋ช ์ ์ฌ์ฉํ๊ฑฐ๋, ์ฟผ๋ฆฌ ์คํธ๋ง ๋ฐฉ์์ผ๋ก ๋ฆฌ์์ค๋ฅผ ์์ฒญํ๋ค. ๋จ, ์ฟผ๋ฆฌ ์คํธ๋ง๋ฐฉ์์ ์ฟผ๋ฆฌ ์คํธ๋ง์ด ๋ฌด์๋๋ ์๋ฒ ์ค์ ์ผ๋ก ์ธํด ์ค๋๋ ์บ์๋ฅผ ์ฌ์ฉํ ์ ์์ด์ ์ฃผ์๊ฐ ํ์ํ๋ค.
์ฟผ๋ฆฌ ์คํธ๋ง์ด ๋ฌด์๋๋ ๊ฒฝ์ฐ
์๋ฒ๊ฐ ์ฟผ๋ฆฌ ์คํธ๋ง์ ๋ฌด์ํ๋ ์ ์ฑ ์ ์ฌ์ฉํ ์ ์๊ณ , ์ฟผ๋ฆฌ ์คํธ๋ง์ด ์๋ ์ ์ ๋ฆฌ์์ค URL ์์ฒญ์ ๋ฌด์กฐ๊ฑด ์๋ณธ ํ์ผ๋ก ์ฐ๊ฒฐํ๋๋ก ์ค์ ๋์ด ์์ ์๋ ์๋ค.
์บ์๊ฐ ๋ง๋ฃ๋๋ฉด ๋ฐ๋ก ์ญ์ ๋์ง ์๊ณ , "stale(๋ง๋ฃ๋จ)" ์ํ๋ก ์ ์ง๋๋ค.
์ฆ์ ์ญ์ ๋์ง ์๋ ์ด์ ๋ ์ฑ๋ฅ ์ต์ ํ์ ์ ์ฐํ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ์ฑ ๋๋ฌธ์ด๋ค.
์บ์ ์ฌ๊ฒ์ฆ ๋จ๊ณ์์ ์๋ฒ๊ฐ 304 Not Modified
์๋ต์ ์ฃผ๋ฉด, ํด๋ผ์ด์ธํธ๋ ๋ง๋ฃ๋์๋๋ผ๋ ๊ธฐ์กด ์บ์๋ฅผ ์ฌ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค.
๋ง์ฝ ๋ง๋ฃ ๊ธฐ๊ฐ์ด ์ง๋ฌ๋ค๊ณ ์ฆ์ ์ญ์ ํ๊ฒ ๋๋ค๋ฉด, ์ฌ๊ฒ์ฆ ์์ฒญ์กฐ์ฐจ ๋ชปํ๊ณ ๋ฌด์กฐ๊ฑด ์๋ก ๋ฆฌ์์ค๋ฅผ ๋ฐ์์ผํด ๋ถํ์ํ ๋คํธ์ํฌ ๋น์ฉ์ด ๋ค ์ ์๋ค.
๋์คํฌ๋ CPU/RAM๋ณด๋ค ํจ์ฌ ๋๋ฆฌ๊ณ ๋ณต์กํ ์ธ๋ถ ์ฅ์น์ด๊ธฐ ๋๋ฌธ์, ์บ์๋ฅผ ์ฐ๊ณ ์ญ์ ํ๋ ์์ ์ ์๊ฐ๊ณผ ์์์ด ๋ง์ด ๋ ๋ค.
์์ ์ด์ ๋ก ๋ง๋ฃ๋ ์บ์๋ฅผ ์ฆ์ ์ญ์ ํ์ง ์๊ณ , ํน์ ์กฐ๊ฑด์ด ๋ง์กฑํ๋ฉด LRU(Least Recently Used) ์ ์ฑ ๋ฑ์ผ๋ก ์ฐ์ ์์ ๋ฎ์ ์บ์๋ถํฐ ์ ๊ฑฐํ๋ค.
๋ค์ ์ค ํ๋์ ์กฐ๊ฑด์ด ๋ง์กฑํ๋ฉด, ์ฐ์ ์์์ ๋ฐ๋ผ ์บ์๋ฅผ ์ญ์ ํ๋ค.
์ฐ์ ์์ | ์ค๋ช |
---|---|
1๏ธโฃ ๊ฐ์ฅ ์ค๋ ์ฌ์ฉํ์ง ์์ ์บ์ (LRU) | Least Recently Used โ ์ ๊ทผ ์ ๋ ์์ ๊ธฐ์ค์ผ๋ก ์ญ์ |
2๏ธโฃ ๋ง๋ฃ๋ ์บ์ | ์ ํจ ๊ธฐ๊ฐ(max-age , Expires )์ด ์ง๋ ์บ์ |
3๏ธโฃ ํฌ๊ธฐ๊ฐ ํฐ ๋ฆฌ์์ค | ํฐ ํ์ผ์ ๊ณต๊ฐ ํ๋ณด๋ฅผ ์ํด ๋จผ์ ์ ๊ฑฐ๋ ์ ์์ |
4๏ธโฃ ๋ฎ์ ์ ๋ขฐ๋/์ฐ์ ์์ ์ฌ์ดํธ์ ์บ์ | ์์ฃผ ๋ฐฉ๋ฌธํ์ง ์๋ ์ฌ์ดํธ, ๋ก์ปฌ ๋ฆฌ์์ค ๋ฑ |
LRU ์ ์ฑ ์ ๋ฐ๋ผ ์บ์๊ฐ ๋ง๋ฃ๋์ง ์์๋๋ฐ, ์ค๋ ์ฌ์ฉ๋์ง ์์์ผ๋ฉด ์ญ์ ๋ ์ ์๋ค.
๋ธ๋ผ์ฐ์ ์บ์๊ฐ ์ด๋์ ์ ์ฅ๋๊ณ , ์ด๋ป๊ฒ ๋์ํ๋ ์ง๋ฅผ ์ ๋ฆฌํด๋ดค๋ค.
๊ฐ๋ฐ์ ๊ณต๋ถํ๋ฉด์ ๋ชจ๋ ๊ธฐ์ ์ ๋ค ์๊ธฐ๋ณด๋ค๋, ์ ๊ทธ๋ ๊ฒ ๋์ํ๋์ง๋ฅผ ์ดํดํ๋ ๊ฒ์ด ๋ ์ค์ํ๋ค๋ ๊ฒ์ ๋๋ผ๊ณ ์๋ค.
๊ธฐ์ ์ ๊ณ์ ๋ณํ๊ณ , AI ์๋์๋ ์ ๋ณด์ ์๋ณด๋ค ๋์ ์๋ฆฌ์ ๊ฐ๋
์ ์ดํดํ๋ ํ์ด ๋ ์ค๋๊ฐ๋ ๊ฒ ๊ฐ๋ค.
์ด ๊ธ์ด ๋ธ๋ผ์ฐ์ ์บ์์ ๋ํ ์๋ฒฝํ ์ ๋ต์ ์๋๋๋ผ๋,
๋ค์ํ ์ํฉ์์ ์บ์๊ฐ ์ด๋ป๊ฒ ์ ์ฉ๋๊ณ ๋์ํ๋์ง ํ๋จํ ์ ์๋ ๋์์ด ๋์์ผ๋ฉด ์ข๊ฒ ๋ค. ๐