CSS ์บ์ ๋ฌดํจํ ๊ธฐ์ ์ ์ดํดํ์ฌ ์น์ฌ์ดํธ๊ฐ ์ฌ์ฉ์์๊ฒ ์ต์ ์ ๋ฐ์ดํธ๋ฅผ ์ ๊ณตํ๊ณ , ์ ์ธ๊ณ์ ์ผ๋ก ์ฑ๋ฅ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
CSS ์บ์ ๋ฌดํจํ: ์น ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํ ์ข ํฉ ๊ฐ์ด๋
๋์์์ด ์งํํ๋ ์น ํ๊ฒฝ์์ ์ฌ์ฉ์๊ฐ ํญ์ ์ต์ ๋ฒ์ ์ ์น์ฌ์ดํธ๋ฅผ ๊ฒฝํํ๋๋ก ๋ณด์ฅํ๋ ๊ฒ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ฐ๋ก ์ด ์ง์ ์์ CSS ์บ์ ๋ฌดํจํ๊ฐ ํ์ํฉ๋๋ค. ์ด ๊ฐ์ด๋๋ ์บ์ ๋ฌดํจํ ๊ธฐ์ ์ ์ค์์ฑ๊ณผ ํจ๊ณผ์ ์ธ ๊ตฌํ ๋ฐฉ๋ฒ์ ์์น๋ ์น์ฌ์ดํธ ๊ท๋ชจ์ ๊ด๊ณ์์ด ํฌ๊ด์ ์ผ๋ก ์ค๋ช ํฉ๋๋ค. ๊ฐ๋จํ ๋ฒ์ ๊ด๋ฆฌ๋ถํฐ ๊ณ ๊ธ CDN ๊ตฌ์ฑ์ ์ด๋ฅด๊ธฐ๊น์ง, ์น์ฌ์ดํธ์ ์ฑ๋ฅ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ ์ต์ ํํ๊ธฐ ์ํด ๊ณ ์๋ ๋ค์ํ ์ ๋ต์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์บ์ฑ์ ์ค์์ฑ
์บ์ ๋ฌดํจํ๋ฅผ ์ดํด๋ณด๊ธฐ ์ ์ ์บ์ฑ์ด ์ ์ค์ํ์ง ์ดํดํด ๋ด ์๋ค. ์บ์ฑ์ CSS ํ์ผ๊ณผ ๊ฐ์ด ์์ฃผ ์ ๊ทผํ๋ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉ์ ๊ธฐ๊ธฐ(๋ธ๋ผ์ฐ์ ์บ์)๋ ์ฝํ ์ธ ์ ์ก ๋คํธ์ํฌ(CDN) ์๋ฒ์ ์ ์ฅํ๋ ๊ณผ์ ์ ๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์๊ฐ ์น์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธํ ๋๋ง๋ค ์๋ณธ ์๋ฒ์์ ์ด๋ฌํ ๋ฆฌ์์ค๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ๋ค์ด๋ก๋ํ ํ์๊ฐ ์๊ฒ ๋ฉ๋๋ค. ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ก๋ฉ ์๊ฐ ๋จ์ถ: ์ด๊ธฐ ํ์ด์ง ๋ก๋ฉ ์๋๊ฐ ๋นจ๋ผ์ ธ ์ฌ์ฉ์ ๊ฒฝํ์ด ํฅ์๋ฉ๋๋ค.
- ๋์ญํญ ์๋น ๊ฐ์: ํธ์คํ ๋น์ฉ์ ์ ๊ฐํ๊ณ , ํนํ ์ ์ธ๊ณ ์ฌ๋ฌ ์ง์ญ์ ์ ํ๋ ๋์ญํญ์ ๊ฐ์ง ์ฌ์ฉ์์ ์น์ฌ์ดํธ ๋ฐ์์ฑ์ ๊ฐ์ ํฉ๋๋ค.
- ์๋ฒ ์ฑ๋ฅ ํฅ์: ์บ์๋ ๋ฆฌ์์ค๊ฐ ์ฌ์ฉ์์๊ฒ ์ง์ ์ ๊ณต๋๋ฏ๋ก ์๋ณธ ์๋ฒ์ ๋ถํ๋ฅผ ์ค์ ๋๋ค.
ํ์ง๋ง ์บ์ฑ์ ํ ๊ฐ์ง ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ ์ ์์ต๋๋ค. ์บ์๊ฐ ์ ๋๋ก ๋ฌดํจํ๋์ง ์์ผ๋ฉด ์ฌ์ฉ์๋ ๊ณ์ํด์ ์ค๋๋ ๋ฒ์ ์ CSS ํ์ผ์ ๋ณด๊ฒ ๋ ์ ์์ต๋๋ค. ๋ฐ๋ก ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ์บ์ ๋ฌดํจํ์ ๋๋ค.
CSS ์บ์ ๋ฌดํจํ ์ดํดํ๊ธฐ
CSS ์บ์ ๋ฌดํจํ๋ ์ฌ์ฉ์ ๋ธ๋ผ์ฐ์ ๋ CDN ์๋ฒ๊ฐ ์ต์ ๋ฒ์ ์ CSS ํ์ผ์ ๊ฐ์ ธ์ค๋๋ก ๋ณด์ฅํ๋ ๊ณผ์ ์ ๋๋ค. ์ด๋ ์ด์ ๋ฒ์ ์ CSS ํ์ผ์ด ๋ ์ด์ ์ ํจํ์ง ์์ผ๋ฉฐ ์ ํ์ผ๋ก ๊ต์ฒด๋์ด์ผ ํ๋ค๋ ์ ํธ๋ฅผ ์บ์์ ๋ณด๋ด๋ ์ ๋ต์ ๊ตฌํํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค. ์ฃผ์ ๋ชฉํ๋ ์บ์ฑ์ ์ด์ ๊ณผ ์ต์ ์ฝํ ์ธ ์ ๊ณต์ ํ์์ฑ ์ฌ์ด์ ๊ท ํ์ ๋ง์ถ๋ ๊ฒ์ ๋๋ค. ์ ์ ํ ๋ฌดํจํ๊ฐ ์์ผ๋ฉด ์ฌ์ฉ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฒช์ ์ ์์ต๋๋ค:
- ์๋ชป๋ ์คํ์ผ๋ง: ๋ธ๋ผ์ฐ์ ๊ฐ ์ด์ ๋ฒ์ ์ CSS๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๋ ์ผ๊ด์ฑ ์๊ฑฐ๋ ๊นจ์ง ๋ ์ด์์์ ๋ณผ ์ ์์ต๋๋ค.
- ๋์ ์ฌ์ฉ์ ๊ฒฝํ: ์ฌ์ฉ์๋ ๋ฒ๊ทธ ์์ ์ด๋ ์๋ก์ด ๊ธฐ๋ฅ ์คํ์ผ๋ง์ ํจ๊ณผ๋ฅผ ์บ์๊ฐ ๋ง๋ฃ๋๊ฑฐ๋ ์๋์ผ๋ก ์ง์์ง ํ์์ผ ๋ณผ ์ ์์ด ๋ถํธ์ ๊ฒช์ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ธ ์บ์ ๋ฌดํจํ ๊ธฐ์
CSS ์บ์๋ฅผ ๋ฌดํจํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ช ๊ฐ์ง ํจ๊ณผ์ ์ธ ๊ธฐ์ ์ด ์์ผ๋ฉฐ, ๊ฐ๊ฐ ์ฅ์ ๊ณผ ๊ณ ๋ ค ์ฌํญ์ด ์์ต๋๋ค. ์ต์์ ์ ํ์ ํน์ ์๊ตฌ ์ฌํญ๊ณผ ์น ๊ฐ๋ฐ ์ค์ ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
1. ๋ฒ์ ๊ด๋ฆฌ(Versioning)
๋ฒ์ ๊ด๋ฆฌ๋ ๊ฐ์ฅ ๊ฐ๋จํ๊ณ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ ์ค ํ๋์ ๋๋ค. CSS ํ์ผ ์ด๋ฆ์ด๋ URL์ ๋ฒ์ ๋ฒํธ๋ ๊ณ ์ ์๋ณ์๋ฅผ ํฌํจํ๋ ๋ฐฉ์์ ๋๋ค. CSS๋ฅผ ์ ๋ฐ์ดํธํ ๋ ๋ฒ์ ๋ฒํธ๋ฅผ ์ฌ๋ฆฌ๋ฉด ๋ธ๋ผ์ฐ์ ๋ ์ ๋ฐ์ดํธ๋ ํ์ผ์ ์๋ก์ด ๋ฆฌ์์ค๋ก ์ทจ๊ธํ์ฌ ์บ์๋ฅผ ์ฐํํ๊ฒ ๋ฉ๋๋ค. ์๋ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
์์:
- ์๋ณธ CSS:
style.css
- ์
๋ฐ์ดํธ๋ CSS (๋ฒ์ 1.1):
style.1.1.css
๋๋style.css?v=1.1
๊ตฌํ:
CSS ํ์ผ์ ์ด๋ฆ์ ๋ฐ๊พธ๊ฑฐ๋ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์๋์ผ๋ก ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. Webpack, Grunt, Gulp์ ๊ฐ์ ๋ง์ ๋น๋ ๋๊ตฌ์ ํ์คํฌ ๋ฌ๋๋ ์ด ํ๋ก์ธ์ค๋ฅผ ์๋ํํ์ฌ ๋น๋ ์ ํ์ผ์ ๋ํ ๊ณ ์ ํ ํด์๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค. ์ด๋ ์๋ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ์ค๋ฅ๋ฅผ ์ ๋ฐํ๊ธฐ ์ฌ์ด ๋๊ท๋ชจ ํ๋ก์ ํธ์ ํนํ ์ ์ฉํฉ๋๋ค.
์ฅ์ :
- ๊ตฌํ์ด ๊ฐ๋จํฉ๋๋ค.
- ์ฌ์ฉ์๊ฐ ์ ๋ฐ์ดํธ๋ CSS๋ฅผ ํ์คํ ๋ฐ๋๋ก ๋ณด์ฅํฉ๋๋ค.
๊ณ ๋ ค ์ฌํญ:
- ์๋ ๋ฒ์ ๊ด๋ฆฌ๋ ๋ฒ๊ฑฐ๋ก์ธ ์ ์์ต๋๋ค.
- ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์ ์ ๊ทผ ๋ฐฉ์์ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ์บ์ฑ ๋ชฉ์ ์ผ๋ก ์ ๋๋ก ์ฒ๋ฆฌํ์ง ์๋ CDN์๋ ์ด์์ ์ด์ง ์์ ์ ์์ต๋๋ค.
2. ํ์ผ ์ด๋ฆ ํด์ฑ(Filename Hashing)
ํ์ผ ์ด๋ฆ ํด์ฑ์ ๋ฒ์ ๊ด๋ฆฌ์ ์ ์ฌํ๊ฒ CSS ํ์ผ์ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ๊ณ ์ ํ ํด์(์ผ๋ฐ์ ์ผ๋ก ๋ฌธ์์ด)๋ฅผ ์์ฑํ๋ ๋ฐฉ์์ ๋๋ค. ์ด ํด์๋ ํ์ผ ์ด๋ฆ์ ํฌํจ๋ฉ๋๋ค. CSS ํ์ผ์ด ๋ณ๊ฒฝ๋๋ฉด ํด์์ ํ์ผ ์ด๋ฆ์ด ๋ฌ๋ผ์ ธ ๋ธ๋ผ์ฐ์ ์ CDN์ด ์ ํ์ผ์ ๊ฐ์ ธ์ค๊ฒ ๋ฉ๋๋ค.
์์:
- ์๋ณธ CSS:
style.css
- ํด์๋ CSS:
style.d41d8cd98f00b204e9800998ecf8427e.css
(ํด์๋ ์์์ ๋๋ค.)
๊ตฌํ:
ํ์ผ ์ด๋ฆ ํด์ฑ์ ์ผ๋ฐ์ ์ผ๋ก ๋น๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ํ๋ฉ๋๋ค. ์ด ๋๊ตฌ๋ค์ ํด์๋ฅผ ์์ฑํ๊ณ HTML ํ์ผ์ ์ ํ์ผ ์ด๋ฆ์ผ๋ก ์๋์ผ๋ก ์ ๋ฐ์ดํธํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์๋ง์ CSS ํ์ผ์ด๋ ์ฆ์ ์ ๋ฐ์ดํธ๋ฅผ ์ฒ๋ฆฌํ ๋ ์๋ ๋ฒ์ ๊ด๋ฆฌ๋ณด๋ค ํจ์ฌ ํจ์จ์ ์ ๋๋ค. Parcel, Vite, Webpack๊ณผ ๊ฐ์ ์ธ๊ธฐ ์๋ ๋๊ตฌ๋ค์ด ์ด๋ฅผ ์๋ํํ ์ ์์ต๋๋ค.
์ฅ์ :
- ์๋ํ๋ ํ๋ก์ธ์ค์ ๋๋ค.
- ๊ฐ CSS ๋ฒ์ ์ ๋ํด ๊ณ ์ ํ ํ์ผ ์ด๋ฆ์ ๋ณด์ฅํฉ๋๋ค.
- ์บ์ฑ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํฉ๋๋ค.
๊ณ ๋ ค ์ฌํญ:
- ๋น๋ ํ๋ก์ธ์ค๊ฐ ํ์ํฉ๋๋ค.
- ๋จ์ํ ๋ฒ์ ๊ด๋ฆฌ๋ณด๋ค ์ค์ ์ด ๋ ๋ณต์กํฉ๋๋ค.
3. HTTP ํค๋
HTTP ํค๋๋ ์บ์ ๋์์ ์ ์ดํ๋ ๋ ๋ค๋ฅธ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค. ์ฌ๋ฌ ํค๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค๋ฅผ ์บ์ํ ๊ธฐ๊ฐ๊ณผ ์ฌ๊ฒ์ฆ ๋ฐฉ๋ฒ์ ์ง์ ํ ์ ์์ต๋๋ค. ํนํ CDN์ ์ฌ์ฉํ ๋ HTTP ํค๋๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์ฃผ์ HTTP ํค๋:
Cache-Control:
์ด ํค๋๋ ๊ฐ์ฅ ์ค์ํ๊ณ ๋ค์ฌ๋ค๋ฅํฉ๋๋ค.max-age
(๋ฆฌ์์ค ์ ํจ ๊ธฐ๊ฐ ์ง์ ),no-cache
(์๋ฒ์ ๊ฐ์ ์ฌ๊ฒ์ฆ),no-store
(์บ์ฑ ์์ ๋ฐฉ์ง)์ ๊ฐ์ ์ง์๋ฌธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.Expires:
์ด ํค๋๋ ๋ฆฌ์์ค๊ฐ ์ค๋๋์๋ค๊ณ ๊ฐ์ฃผ๋๋ ๋ ์ง์ ์๊ฐ์ ์ง์ ํฉ๋๋ค.Cache-Control
๋ณด๋ค ๋ ๊ถ์ฅ๋ฉ๋๋ค.ETag:
ETag(์ํฐํฐ ํ๊ทธ)๋ ํน์ ๋ฒ์ ์ ๋ฆฌ์์ค์ ๋ํ ๊ณ ์ ์๋ณ์์ ๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ ๋ ์๋ฒ๋ ETag๋ฅผ ํฌํจํ ์ ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ฏธ ์บ์์ ๋ฆฌ์์ค๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ฉด,If-None-Match
ํค๋์ ETag๋ฅผ ๋ด์ ์๋ฒ๋ก ๋ค์ ๋ณด๋ผ ์ ์์ต๋๋ค. ์๋ฒ๊ฐ ๋ฆฌ์์ค๊ฐ ๋ณ๊ฒฝ๋์ง ์์๋ค๊ณ ํ๋จํ๋ฉด(ETag ์ผ์น),304 Not Modified
์๋ต์ ๋ฐํํ์ฌ ๋ธ๋ผ์ฐ์ ๊ฐ ์บ์๋ ๋ฒ์ ์ ์ฌ์ฉํ๋๋ก ํ์ฉํฉ๋๋ค.Last-Modified:
์ด ํค๋๋ ๋ฆฌ์์ค์ ๋ง์ง๋ง ์์ ๋ ์ง๋ฅผ ๋ํ๋ ๋๋ค. ๋ธ๋ผ์ฐ์ ๋ ์ด ๋ ์ง๋ฅผIf-Modified-Since
ํค๋๋ก ๋ณด๋ด ๋ฆฌ์์ค ๋ณ๊ฒฝ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์ด ํค๋๋ ์ข ์ข ETag์ ํจ๊ป ์ฌ์ฉ๋ฉ๋๋ค.
๊ตฌํ:
HTTP ํค๋๋ ์ผ๋ฐ์ ์ผ๋ก ์๋ฒ ์ธก์์ ๊ตฌ์ฑ๋ฉ๋๋ค. ๊ฐ๊ธฐ ๋ค๋ฅธ ์น ์๋ฒ(Apache, Nginx, IIS ๋ฑ)๋ ์ด๋ฌํ ํค๋๋ฅผ ์ค์ ํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. CDN์ ์ฌ์ฉํ ๋๋ ๋ณดํต CDN์ ์ ์ดํ์ ํตํด ์ด๋ฌํ ํค๋๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. CDN์ ์ข ์ข ์ด๋ฌํ ํค๋๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํ ์ฌ์ฉ์ ์นํ์ ์ธ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ์ฌ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํฉ๋๋ค. CDN์ผ๋ก ์์ ํ ๋๋ ์บ์ฑ ์ ๋ต์ ๋ง๊ฒ ์ด๋ฌํ ํค๋๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์์ (Apache .htaccess):
<FilesMatch "\.css$">
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 year"
</IfModule>
Header append Cache-Control "public"
</FilesMatch>
์ฅ์ :
- ์บ์ ๋์์ ๋ํ ์ธ๋ถํ๋ ์ ์ด๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- CDN ์บ์ฑ์ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ณ ๋ ค ์ฌํญ:
- ์๋ฒ ์ธก ๊ตฌ์ฑ์ด ํ์ํฉ๋๋ค.
- HTTP ํค๋์ ๋ํ ํ์คํ ์ดํด๊ฐ ํ์ํฉ๋๋ค.
4. CDN ๊ตฌ์ฑ
CDN(์ฝํ ์ธ ์ ์ก ๋คํธ์ํฌ)์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์บ์ ๋ฌดํจํ๋ฅผ ์ํ ๊ฐ๋ ฅํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. CDN์ CSS ํ์ผ์ ๋ณต์ฌ๋ณธ์ ์ ์ธ๊ณ์ ๋ถ์ฐ๋ ์๋ฒ, ์ฆ ์ฌ์ฉ์์ ๋ ๊ฐ๊น์ด ๊ณณ์ ์ ์ฅํฉ๋๋ค. ์ ์ ํ CDN ๊ตฌ์ฑ์ CSS ํ์ผ์ด ์ ์ธ๊ณ์ ์ผ๋ก ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์ ๋ฐ์ดํธ๋๋๋ก ๋ณด์ฅํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋๋ถ๋ถ์ CDN์ ์บ์ ๋ฌดํจํ๋ฅผ ๋๋ ํน์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์บ์ ๋ฌดํจํ๋ฅผ ์ํ ์ฃผ์ CDN ๊ธฐ๋ฅ:
- ์บ์ ํผ์ง(Purge Cache): ๋๋ถ๋ถ์ CDN์์๋ ํน์ ํ์ผ์ด๋ ์ ์ฒด ๋๋ ํ ๋ฆฌ์ ๋ํด ์๋์ผ๋ก ์บ์๋ฅผ ํผ์งํ ์ ์์ต๋๋ค. ์ด๋ CDN ์๋ฒ์์ ์บ์๋ ํ์ผ์ ์ ๊ฑฐํ์ฌ ์๋ณธ ์๋ฒ์์ ์ต์ ๋ฒ์ ์ ๊ฐ์ ธ์ค๋๋ก ๊ฐ์ ํฉ๋๋ค.
- ์๋ ์บ์ ๋ฌดํจํ: ์ผ๋ถ CDN์ ํ์ผ ๋ณ๊ฒฝ์ ์๋์ผ๋ก ๊ฐ์งํ๊ณ ์บ์๋ฅผ ๋ฌดํจํํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ข ์ข ๋น๋ ๋๊ตฌ๋ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ๊ณผ ํตํฉ๋ฉ๋๋ค.
- ์ฟผ๋ฆฌ ๋ฌธ์์ด ์ฒ๋ฆฌ: CDN์ ์บ์ฑ ๋ชฉ์ ์ผ๋ก URL์ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ๊ณ ๋ คํ๋๋ก ๊ตฌ์ฑํ ์ ์์ด ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
- ํค๋ ๊ธฐ๋ฐ ์บ์ฑ: CDN์ ์๋ณธ ์๋ฒ์ ์ค์ ํ HTTP ํค๋๋ฅผ ํ์ฉํ์ฌ ์บ์ ๋์์ ๊ด๋ฆฌํฉ๋๋ค.
๊ตฌํ:
CDN ๊ตฌ์ฑ์ ์ธ๋ถ ์ฌํญ์ CDN ์ ๊ณต์ ์ฒด(Cloudflare, Amazon CloudFront, Akamai ๋ฑ)์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฆ ๋๋ค:
- CDN ์๋น์ค์ ๊ฐ์ ํ๊ณ ์น์ฌ์ดํธ ์์ฐ์ ์ ๊ณตํ๋๋ก ๊ตฌ์ฑํฉ๋๋ค.
- ์๋ณธ ์๋ฒ๊ฐ ์ ์ ํ HTTP ํค๋(Cache-Control, Expires, ETag ๋ฑ)๋ฅผ ์ค์ ํ๋๋ก ๊ตฌ์ฑํฉ๋๋ค.
- ์ ๋ฐ์ดํธ ๋ฐฐํฌ ํ CDN ์ ์ดํ์ ์ฌ์ฉํ์ฌ ์บ์๋ฅผ ํผ์งํ๊ฑฐ๋ ํ์ผ ๋ณ๊ฒฝ์ ๊ธฐ๋ฐํ ์๋ ์บ์ ๋ฌดํจํ ๊ท์น์ ์ค์ ํฉ๋๋ค.
์์ (Cloudflare): ์ธ๊ธฐ ์๋ CDN์ธ Cloudflare๋ '์บ์ ํผ์ง' ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ์ง์ธ ํ์ผ์ด๋ ์บ์๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ๋ง์ ์๋๋ฆฌ์ค์์ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ ํธ๋ฆฌ๊ฑฐ๋ฅผ ํตํด ์ด๋ฅผ ์๋ํํ ์ ์์ต๋๋ค.
์ฅ์ :
- ์น์ฌ์ดํธ ์ฑ๋ฅ๊ณผ ๊ธ๋ก๋ฒ ์ ์ก ์๋๋ฅผ ํฅ์์ํต๋๋ค.
- ์บ์ ๊ด๋ฆฌ๋ฅผ ์ํ ๊ฐ๋ ฅํ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๊ณ ๋ ค ์ฌํญ:
- CDN ๊ตฌ๋ ๋ฐ ๊ตฌ์ฑ์ด ํ์ํฉ๋๋ค.
- CDN ์ค์ ์ ๋ํ ์ดํด๊ฐ ํ์์ ์ ๋๋ค.
CSS ์บ์ ๋ฌดํจํ๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
CSS ์บ์ ๋ฌดํจํ์ ํจ๊ณผ๋ฅผ ๊ทน๋ํํ๋ ค๋ฉด ๋ค์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ณ ๋ คํ์ญ์์ค:
- ์ฌ๋ฐ๋ฅธ ์ ๋ต ์ ํ: ํ๋ก์ ํธ์ ์๊ตฌ ์ฌํญ, ๋น๋ ํ๋ก์ธ์ค ๋ฐ ์ธํ๋ผ์ ๊ฐ์ฅ ์ ํฉํ ์บ์ ๋ฌดํจํ ๊ธฐ์ ์ ์ ํํ์ญ์์ค. ์๋ฅผ ๋ค์ด, ์ ์ ์น์ฌ์ดํธ๋ ๋ฒ์ ๊ด๋ฆฌ๋ ํ์ผ ์ด๋ฆ ํด์ฑ์ด ์ ๋ฆฌํ ์ ์์ง๋ง, ๋์ ์น์ฌ์ดํธ๋ ์ต์ ์ ์ ์ด๋ฅผ ์ํด HTTP ํค๋์ CDN์ ์ฌ์ฉํด์ผ ํ ์ ์์ต๋๋ค.
- ํ๋ก์ธ์ค ์๋ํ: ๊ฐ๋ฅํ ๋ชจ๋ ๊ณณ์ ์๋ํ๋ฅผ ๊ตฌํํ์ญ์์ค. ๋น๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒ์ ๊ด๋ฆฌ๋ ํ์ผ ์ด๋ฆ ํด์ฑ์ ์ฒ๋ฆฌํ๊ณ , ๋ฐฐํฌ ํ์ดํ๋ผ์ธ์ ์บ์ ๋ฌดํจํ๋ฅผ ํตํฉํ์ญ์์ค. ์๋ํ๋ ํ๋ก์ธ์ค๋ ์ธ์ ์ค๋ฅ๋ฅผ ์ค์ด๊ณ ์ํฌํ๋ก์ฐ๋ฅผ ๊ฐ์ํํฉ๋๋ค.
- CSS ํ์ผ ํฌ๊ธฐ ์ต์ํ: ์์ CSS ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ ์บ์ ์๋๊ฐ ๋ ๋น ๋ฆ ๋๋ค. ์ถ์(minification) ๋ฐ ์ฝ๋ ๋ถํ (code splitting)๊ณผ ๊ฐ์ ๊ธฐ์ ์ ๊ณ ๋ คํ์ฌ CSS ํ์ผ์ ํฌ๊ธฐ๋ฅผ ์ค์ด์ญ์์ค. ์ด๋ ์ด๊ธฐ ๋ก๋ฉ ์๊ฐ๊ณผ ์ ๋ฐ์ดํธ ์ ๋ฌ ์๋๋ฅผ ํฅ์์ํต๋๋ค.
- CDN ์ฌ์ฉ: CDN์ ํ์ฉํ์ฌ CSS ํ์ผ์ ์ ์ธ๊ณ์ ์ผ๋ก ๋ฐฐํฌํ์ญ์์ค. CDN์ ์ฌ์ฉ์์ ๋ ๊ฐ๊น์ด ์๋ฒ์ CSS ํ์ผ์ ์บ์ํ์ฌ ์ง์ฐ ์๊ฐ์ ์ค์ด๊ณ ์ฑ๋ฅ์ ํฅ์์ํค๋ฉฐ, ํนํ ๋ค๋ฅธ ์ง๋ฆฌ์ ์์น์ ๊ตญ์ ๊ณ ๊ฐ์ ๋์์ผ๋ก ํ๋ ์น์ฌ์ดํธ์ ์ ์ฉํฉ๋๋ค.
- ๋ชจ๋ํฐ๋ง ๋ฐ ํ ์คํธ: Google PageSpeed Insights ๋๋ WebPageTest์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์น์ฌ์ดํธ ์ฑ๋ฅ์ ์ ๊ธฐ์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ์ญ์์ค. ์บ์ ๋ฌดํจํ ์ ๋ต์ด ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋์ง ์ฒ ์ ํ ํ ์คํธํ์ญ์์ค. ๋ค์ํ ์ง์ญ์ ์ฌ์ฉ์๊ฐ ์์๋๋ก ์ ๋ฐ์ดํธ๋ CSS๋ฅผ ๋ณด๋์ง ํ์ธํ์ญ์์ค.
- ๋ธ๋ผ์ฐ์ ์บ์ฑ ์ ๋ต ๊ณ ๋ ค: ์๋ฒ๊ฐ CSS ํ์ผ์ ๋ํด ์ ์ ํ HTTP ํค๋๋ฅผ ์ค์ ํ๋๋ก ๊ตฌ์ฑํ์ญ์์ค. ์ด ํค๋๋ ๋ธ๋ผ์ฐ์ ์ ํ์ผ์ ์บ์ํ ๊ธฐ๊ฐ์ ์ง์ํฉ๋๋ค. ์ต์ ์ `Cache-Control` ๊ฐ์ธ `max-age`๋ ํ์ผ์ ์ ๋ฐ์ดํธ ๋น๋์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ๋น๊ต์ ์ ์ ์ธ CSS ํ์ผ์ ๊ฒฝ์ฐ ๋ ๊ธด `max-age` ๊ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ ์์ฃผ ์ ๋ฐ์ดํธ๋๋ ํ์ผ์ ๊ฒฝ์ฐ ๋ ์งง์ ๊ฐ์ด ๋ ์ ์ ํ ์ ์์ต๋๋ค. ๋ ํฐ ์ ์ด๋ฅผ ์ํด ETag ๋ฐ Last-Modified ํค๋๋ฅผ ํ์ฉํ์ญ์์ค.
- ์ ๊ธฐ์ ์ธ ๊ฒํ ๋ฐ ์ ๋ฐ์ดํธ: ํ๋ก์ ํธ๊ฐ ๋ฐ์ ํจ์ ๋ฐ๋ผ ์บ์ ๋ฌดํจํ ์ ๋ต์ด ๊ณ์ํด์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋์ง ๋ค์ ๊ฒํ ํ์ญ์์ค. ์บ์ฑ ์ ๋ต์ ์ ๊ธฐ์ ์ผ๋ก ๊ฒํ ํ๊ณ ์น์ฌ์ดํธ์ ๋ณํํ๋ ์ฝํ ์ธ ์ ๋ง๊ฒ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋์๋์ง ํ์ธํ์ญ์์ค.
- CSS ์ ๋ฌ ์ต์ ํ: CSS ํ์ผ์ ์ข ์ข ์ ๋ฌ์ ์ต์ ํ๋ ์ ์์ต๋๋ค. ์ค์ ๊ฒฝ๋ก CSS(critical path CSS) ๋ฐ CSS ๋ถํ ๊ณผ ๊ฐ์ ๊ธฐ์ ์ ๊ณ ๋ คํ์ญ์์ค. ์ค์ ๊ฒฝ๋ก CSS๋ ํ์ด์ง์ ์ด๊ธฐ ๋ ๋๋ง์ ํ์ํ CSS๋ง HTML์ ์ธ๋ผ์ธ์ผ๋ก ํฌํจํ์ฌ ์ด๊ธฐ ๋ ๋๋ง ์ฐจ๋จ์ ์ค์ด๋ ๊ฒ์ ํฌํจํฉ๋๋ค. CSS ๋ถํ ์ ๋ ํฐ CSS ํ์ผ์ ์น์ฌ์ดํธ ์น์ ์ ๋ฐ๋ผ ๋ ์์ ๋ถ๋ถ์ผ๋ก ๋๋๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- ์ต์ ์ ๋ณด ์ ์ง: ์น ๊ธฐ์ ์ ๋์์์ด ์งํํฉ๋๋ค. ๋ชจ๋ฒ ์ฌ๋ก์ ์ ๊ณ ํ์ค์ ๋ํ ์ต์ ์ ๋ณด๋ฅผ ์ ์งํ์ญ์์ค. ์ ๋ขฐํ ์ ์๋ ์๋ฃ์ ๋ธ๋ก๊ทธ๋ฅผ ํ๋ก์ฐํ๊ณ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ์ ์ฐธ์ฌํ์ฌ ์ต์ ๋ํฅ์ ํ์ ํ์ญ์์ค.
์ค์ฉ์ ์ธ ์์ ๋ฐ ์๋๋ฆฌ์ค
์ดํด๋ฅผ ๋๊ธฐ ์ํด ๋ช ๊ฐ์ง ์ค์ฉ์ ์ธ ์๋๋ฆฌ์ค์ ์์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด ์์๋ค์ ๋ค์ํ ์ง์ญ๊ณผ ์ฐ์ ์ ๋ง๊ฒ ์กฐ์ ํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค.
1. ์ ์์๊ฑฐ๋ ์น์ฌ์ดํธ
์ธ๋(๋๋ ๋ค๋ฅธ ์ด๋ค ์ง์ญ์ด๋ )์ ์ ์์๊ฑฐ๋ ์น์ฌ์ดํธ๋ ์ ํ ๋ชฉ๋ก, ํ๋ก๋ชจ์
๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์์๋ฅผ ์ํด CSS๋ฅผ ์์ฃผ ์
๋ฐ์ดํธํฉ๋๋ค. ์ด๋ค์ ๋น๋ ํ๋ก์ธ์ค์์ ํ์ผ ์ด๋ฆ ํด์ฑ์ ์ฌ์ฉํฉ๋๋ค. styles.css
์ ๊ฐ์ CSS ํ์ผ์ด ์
๋ฐ์ดํธ๋๋ฉด ๋น๋ ํ๋ก์ธ์ค๋ styles.a1b2c3d4e5f6.css
์ ๊ฐ์ ์ ํ์ผ์ ์์ฑํฉ๋๋ค. ์น์ฌ์ดํธ๋ ์๋์ผ๋ก HTML์ ์
๋ฐ์ดํธํ์ฌ ์ ํ์ผ ์ด๋ฆ์ ์ฐธ์กฐํ๊ฒ ํ์ฌ ์ฆ์ ์บ์๋ฅผ ๋ฌดํจํํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉ์๊ฐ ํญ์ ์ต์ ์ ํ ์ ๋ณด์ ํ๋ก๋ชจ์
์ ๋ณด๋๋ก ๋ณด์ฅํฉ๋๋ค.
2. ๋ด์ค ์น์ฌ์ดํธ
์ ์ธ๊ณ๋ฅผ ๋์์ผ๋ก ํ ์ ์๋ ๋ด์ค ์น์ฌ์ดํธ๋ HTTP ํค๋์ CDN์ ์์กดํฉ๋๋ค. ์ด๋ค์ CDN์ด CSS ํ์ผ์ ๋ํด `Cache-Control: public, max-age=86400`(1์ผ)์ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑํฉ๋๋ค. ์๋ก์ด ์คํ์ผ์ด ์ ์ฉ๋๊ฑฐ๋ ๋ฒ๊ทธ๊ฐ ์์ ๋๋ฉด CDN์ ์บ์ ํผ์ง ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ค๋๋ CSS๋ฅผ ๋ฌดํจํํ๊ณ ๋ชจ๋ ๋ฐฉ๋ฌธ์์๊ฒ ์์น๋ ๊ธฐ๊ธฐ์ ๊ด๊ณ์์ด ์ต์ ๋ฒ์ ์ ์ ์ํ๊ฒ ์ ๊ณตํฉ๋๋ค.
3. ๊ธฐ์ ์น์ฌ์ดํธ
๋ธ๋ผ์ง(๋๋ ๋ค๋ฅธ ์ด๋ค ๊ตญ๊ฐ๋ )์ ๊ธฐ์
์น์ฌ์ดํธ๋ ๋น๊ต์ ์ ์ ์ธ ๋์์ธ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๋ค์ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค. style.css?v=1.0
์ ์ฌ์ฉํ๊ณ CSS๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค HTML์ ๋ฒ์ ๋ฒํธ๋ฅผ ์
๋ฐ์ดํธํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ๋ฉด์ CSS๊ฐ ์๋ก ๊ณ ์ณ์ง๋๋ก ๋ณด์ฅํฉ๋๋ค. ์๋ช
์ด ๊ธด ์์ฐ์ ๊ฒฝ์ฐ ์๋ฒ์ ๋ํ ์์ฒญ์ ์ต์ํํ๊ธฐ ์ํด ๋ ๊ธด `max-age` ์บ์ ์ง์๋ฌธ์ ๊ณ ๋ คํ์ญ์์ค.
4. ์น ์ ํ๋ฆฌ์ผ์ด์
์ ์ธ๊ณ ์ฌ์ฉ์๋ฅผ ์ํด ๊ฐ๋ฐ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ์ ๋ต์ ์กฐํฉํ์ฌ ์ฌ์ฉํฉ๋๋ค. ํ์ผ ์ด๋ฆ ํด์ฑ๊ณผ CDN์ ํ์ฉํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ์ผ๋ง์ด ์ ๋ฐ์ดํธ๋๋ฉด ์๋ก์ด ๋น๋ ํ๋ก์ธ์ค๊ฐ ๊ณ ์ ํ ํ์ผ ์ด๋ฆ์ ์์ฑํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ์ CDN ์บ์์์ ๊ด๋ จ ํ์ผ์ ์๋์ผ๋ก ํผ์งํ์ฌ ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ์ ๋ฐ์ดํธ๊ฐ ์ ์ํ๊ฒ ์ ํ๋๋๋ก ๋ณด์ฅํฉ๋๋ค. ๋ฐฐํฌ ๋ด์ HTTP ํค๋์ ๊ฐ์ ์บ์ฑ ์ ๋ต์ ํฌํจํจ์ผ๋ก์จ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ธ๊ณ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ ์๊ธฐ์ ์ ํ ์ ๋ฐ์ดํธ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ ๊ณตํฉ๋๋ค.
์ผ๋ฐ์ ์ธ ๋ฌธ์ ํด๊ฒฐ
๋๋๋ก ์บ์ ๋ฌดํจํ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ๋ค์์ ๋ช ๊ฐ์ง ์ผ๋ฐ์ ์ธ ๋ฌธ์ ์ ํด๊ฒฐ์ฑ ์ ๋๋ค:
- ์ฌ์ฉ์๊ฐ ์ฌ์ ํ ์ค๋๋ CSS๋ฅผ ๋ด
๋๋ค:
- ๊ตฌํ ํ์ธ: ๋ฒ์ ๊ด๋ฆฌ, ํ์ผ ์ด๋ฆ ํด์ฑ ๋๋ HTTP ํค๋ ๊ตฌ์ฑ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌํ๋์๋์ง ๋ค์ ํ์ธํ์ญ์์ค. HTML์ด ์ฌ๋ฐ๋ฅธ CSS ํ์ผ์ ๋งํฌ๋์ด ์๋์ง ํ์ธํ์ญ์์ค.
- ๋ธ๋ผ์ฐ์ ์บ์ ์ง์ฐ๊ธฐ: ์ฌ์ฉ์์๊ฒ ๋ธ๋ผ์ฐ์ ์บ์๋ฅผ ์ง์ฐ๊ณ ํ์ด์ง๋ฅผ ์๋ก ๊ณ ์ณ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋์ง ํ์ธํ๋๋ก ์์ฒญํ์ญ์์ค.
- CDN ๋ฌธ์ : CDN์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ด๋ จ ํ์ผ์ ์บ์๋ฅผ ํผ์งํ๋์ง ํ์ธํ์ญ์์ค. ๋ํ CDN ์ค์ ์ด ์๋ณธ ์๋ฒ์ HTTP ํค๋๋ฅผ ์กด์คํ๋๋ก ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋์๋์ง ํ์ธํ์ญ์์ค.
- CDN์ด ์
๋ฐ์ดํธ๋์ง ์์:
- CDN ์ค์ ํ์ธ: CDN์ด CSS ํ์ผ์ ์ฌ๋ฐ๋ฅด๊ฒ ์บ์ํ๋๋ก ๊ตฌ์ฑ๋์๋์ง, ๊ทธ๋ฆฌ๊ณ ์บ์ฑ ๋์์ด ์๊ตฌ ์ฌํญ๊ณผ ์ผ์นํ๋์ง(์: `Cache-Control` ํค๋๊ฐ ์ ์ ํ๊ฒ ์ค์ ๋์๋์ง) ํ์ธํ์ญ์์ค.
- CDN ์บ์ ํผ์ง: CSS ํ์ผ์ ๋ํด CDN ์บ์๋ฅผ ์๋์ผ๋ก ํผ์งํ๊ณ ํผ์ง ํ๋ก์ธ์ค๊ฐ ์ฑ๊ณตํ๋์ง ํ์ธํ์ญ์์ค.
- ์๋ณธ ์๋ฒ ํค๋ ํ์ธ: ์๋ณธ ์๋ฒ์์ ์ ๊ณตํ๋ HTTP ํค๋๋ฅผ ๊ฒ์ฌํ์ญ์์ค. CDN์ ์ด๋ฌํ ํค๋์ ์์กดํ์ฌ ์บ์๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ํค๋๊ฐ ์๋ชป ๊ตฌ์ฑ๋๋ฉด CDN์ด ํ์ผ์ ์์๋๋ก ์บ์ํ์ง ์์ ์ ์์ต๋๋ค.
- ๋ฒ์ ๊ด๋ฆฌ/ํด์ฑ ์ค๋ฅ:
- ๋น๋ ํ๋ก์ธ์ค: ๋น๋ ํ๋ก์ธ์ค๊ฐ ์ฌ๋ฐ๋ฅธ ๋ฒ์ ์ด๋ ํด์๋ฅผ ์์ฑํ๊ณ HTML์ ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ฐ์ดํธํ๋์ง ํ์ธํ์ญ์์ค.
- ํ์ผ ๊ฒฝ๋ก: HTML์ ํ์ผ ๊ฒฝ๋ก๊ฐ ์ฌ๋ฐ๋ฅธ์ง ๋ค์ ํ์ธํ์ญ์์ค.
๊ฒฐ๋ก : ์ต์ ์ ์ฑ๋ฅ์ ์ํ CSS ์บ์ ๋ฌดํจํ ๋ง์คํฐํ๊ธฐ
CSS ์บ์ ๋ฌดํจํ๋ ์น ๊ฐ๋ฐ์ ์ค์ํ ์ธก๋ฉด์ ๋๋ค. ์ด ๊ฐ์ด๋์ ์ค๋ช ๋ ๋ค์ํ ๊ธฐ์ ๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ดํดํจ์ผ๋ก์จ ์ฌ์ฉ์๊ฐ ํญ์ ์ต์ ์ด์ ์ต๊ณ ์ ๋ฒ์ ์ ์น์ฌ์ดํธ CSS๋ฅผ ๋ฐ๋๋ก ๋ณด์ฅํ์ฌ ์ฑ๋ฅ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ชจ๋ ํฅ์์ํฌ ์ ์์ต๋๋ค. ๊ฐ๋จํ ๋ฒ์ ๊ด๋ฆฌ๋ถํฐ ๊ณ ๊ธ CDN ๊ตฌ์ฑ์ ์ด๋ฅด๊ธฐ๊น์ง ์ ์ ํ ์ ๋ต์ ์ฌ์ฉํ์ฌ ๊ธ๋ก๋ฒ ๊ณ ๊ฐ์๊ฒ ์ฐ์ํ ๊ฒฝํ์ ์ ๊ณตํ๋ ๊ณ ์ฑ๋ฅ ์น์ฌ์ดํธ๋ฅผ ์ ์งํ ์ ์์ต๋๋ค.
์ด๋ฌํ ์์น์ ๊ตฌํํจ์ผ๋ก์จ ์น ์ฑ๋ฅ์ ์ต์ ํํ๊ณ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ๋ฉฐ ์ํฌํ๋ก์ฐ๋ฅผ ๊ฐ์ํํ ์ ์์ต๋๋ค. ์น์ฌ์ดํธ์ ์ฑ๋ฅ์ ์ ๊ธฐ์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ํ๋ก์ ํธ์ ๋ณํํ๋ ์๊ตฌ์ ๋ง๊ฒ ์ ๋ต์ ์กฐ์ ํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค. CSS ์บ์ ๋ฌดํจํ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋ฅ๋ ฅ์ ๋น ๋ฅด๊ณ ๋ฐ์์ด ์ข์ผ๋ฉฐ ํ๋์ ์ธ ์น์ฌ์ดํธ๋ฅผ ๊ตฌ์ถํ๊ณ ์ ์งํ๋ ค๋ ๋ชจ๋ ์น ๊ฐ๋ฐ์ ๋๋ ํ๋ก์ ํธ ๊ด๋ฆฌ์์๊ฒ ๊ท์คํ ์์ฐ์ ๋๋ค.