์ ํ๋ธ URL์ youtube.com
์ด๋ค. ๊ทธ๋ฐ๋ฐ ์ ํ๋ธ ์ธ๋ค์ผ URL์ ์ i.ytimg.com
๋ก ์์ํ ๊น?
์ ์ ๋ฆฌ์์ค๋?
ํ๋ ์น ํ๊ฒฝ์์ ์ ์ ๋ฆฌ์์ค๋ผ ํจ์ ์์, ์ฌ์ง, ํฐํธ, CSSยทJS ํ์ผ ๋ฑ ๋น๋ฒํ๊ฒ ๋ณ๋๋์ง ์๋ ์๋ฃ๋ฅผ ์ง์นญํ๋ค. ์ด์ ๋๋ถ์ด, ์ฌ์ฉ์๊ฐ ์ ๋ก๋ํ๋ ์๋ฃ ๋ํ ์ ์ ๋ฆฌ์์ค์ ํ ์๋ก ๋ค ์ ์๋ค.
์ ์ ๋ฆฌ์์ค๋ ๋จ์ํ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๊ธฐ ์ํ ๋ชฉ์ ์ ํ์ ๋๋ฏ๋ก, ๋ณต์กํ ๋น์ฆ๋์ค ๋ก์ง ์์ด ์ ์ํ๊ณ ํจ์จ์ ์ผ๋ก ์ ๋ฌ๋๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค.
์ ์ ๋ฆฌ์์ค ์ ์ฉ ๋๋ฉ์ธ ์ด์ ์ฌ๋ก
- ์ ํ๋ธ. ์์ ์ธ๋ค์ผ์ด ytimg.com์์ ํธ์คํ ๋๋ค.
- ๋ค์ด๋ฒ. pstatic.net์ด๋ผ๋ ๋๋ฉ์ธ์ ์ฌ์ฉ ์ค์ด๋ค.
- ์คํ ์ค๋ฒํ๋ฌ์ฐ & ์คํ ์ต์ค์ฒด์ธ์ง. sstatic.net๋ฅผ ๊ณต์ ํ์ฌ ์ฌ์ฉํ๊ณ ์๋ค.
- ์ ํ ์น์ฌ์ดํธ. cdn-apple.com๋ฅผ ์ฌ์ฉ ์ค์ด๋ค.
- ๊นํ๋ธ. githubusercontent.com์ githubassets.com๋ฅผ ์ฌ์ฉ ์ค์ด๋ค.
์ด์ : ์ฟ ํค์ ์ํ ๋คํธ์ํฌ ํธ๋ํฝ ์ต์ ํ
์ฟ ํค(Cookie)๋, ์น ๋ธ๋ผ์ฐ์ ๊ฐ ํน์ ๋๋ฉ์ธ์ ๋ํด ๋ณด์ ํ๋ ์๊ท๋ชจ์ ๋ฐ์ดํฐ๋ก์, ๋ณดํต ์ฌ์ฉ์ ์ค์ , ์ธ์ฆ ์ ๋ณด, ๋๋ ๊ด๊ณ ์ถ์ ๋ชฉ์ ์ผ๋ก ํ์ฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ ์ ์ ์ธ์ฆ ์ ๋ณด๋ฅผ example.com ๋๋ฉ์ธ ์ฟ ํค๋ก ๊ด๋ฆฌํ๋ค๊ณ ๊ฐ์ ํด๋ณด์:
GET /login HTTP/1.1
Host: example.com
POST /login/submit HTTP/1.1
Host: example.com
GET /post/25 HTTP/1.1
Host: example.com
Cookie: PHPSESSID=298zf09hf012fh2;
GET /post/25/comment/submit HTTP/1.1
Host: example.com
Cookie: PHPSESSID=298zf09hf012fh2;
์ฟ ํค๊ฐ ํ ๋ฒ ์ค์ ๋๋ฉด ํด๋น ๋๋ฉ์ธ์ ์ด๋ฃจ์ด์ง๋ ๋ชจ๋ ์์ฒญ์ ์๋์ผ๋ก ํฌํจ๋์ด ์ ์ก๋๋ฏ๋ก, ๋จ์ ์ด๋ฏธ์ง์ ๊ฐ์ ์ ์ ๋ฆฌ์์ค ์์ฒญ ์์๋ ๋ถํ์ํ ๋ฐ์ดํฐ๊ฐ ํจ๊ป ์ก์ ๋์ด ๋คํธ์ํฌ ํธ๋ํฝ์ ์ฆ๊ฐ์ํฌ ์ฐ๋ ค๊ฐ ์๋ค.
GET /post/25 HTTP/1.1
Host: example.com
Cookie: PHPSESSID=298zf09hf012fh2;
GET /images/logo.png HTTP/1.1
Host: example.com
Cookie: PHPSESSID=298zf09hf012fh2;
GET /images/facebook-icon.png HTTP/1.1
Host: example.com
Cookie: PHPSESSID=298zf09hf012fh2;
GET /images/github-icon.png HTTP/1.1
Host: example.com
Cookie: PHPSESSID=298zf09hf012fh2;
๋ฐ๋ฉด, ์ ์ ๋ฆฌ์์ค๋ฅผ ์ ๊ณตํ๋ ๋๋ฉ์ธ์ ๋ณ๋๋ก ์ค์ ํ ๊ฒฝ์ฐ, ์๋์ ๊ฐ์ด ์ฟ ํค ์ ์ก์ด ๋ฐฐ์ ๋์ด ๋ถํ์ํ ํธ๋ํฝ์ ๋ฐฉ์งํ ์ ์๋ค:
GET /post/25 HTTP/1.1
Host: example.com
Cookie: PHPSESSID=298zf09hf012fh2;
GET /images/logo.png HTTP/1.1
Host: example-cdn-server.com
๋ฌผ๋ก , ์ฟ ํค์ โpathโ ์์ฑ์ด๋ ์๋ธ๋๋ฉ์ธ์ ํ์ ์ํค๋ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ฟ ํค ์ ์ก์ ์ ์ดํ ์ ์๋ค.
GET /post/25 HTTP/1.1
Host: blog.example.com
Cookie: PHPSESSID=298zf09hf012fh2;
GET /images/logo.png HTTP/1.1
Host: cdn.example.com
ํ์ง๋ง ์ค๋ฌด์์๋ ํ๋์ ๋๋ฉ์ธ์ ๊ธฐ๋ฐ์ผ๋ก ๋ค์์ ์๋ธ๋๋ฉ์ธ ๊ฐ์ ์ธ์ฆ ์ธ์ ์ ๊ณต์ ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ์ ์ ์ ๋ฆฌ์์ค ์ ์ฉ ๋๋ฉ์ธ์ ๋ณ๋ ๋ง๋ จํ๋ ๊ฒ์ด ๋ณดํธ์ ์ธ ๋์ฑ ์ด๋ผ ํ ์ ์๋ค.
๊ฒฐ๋ก
์์ปจ๋, ์ฟ ํค๋ฅผ ์ฌ์ฉํ๋ ์น ์๋น์ค์์๋ ์ ์ ๋ฆฌ์์ค๋ฅผ ๋ณ๋์ ๋๋ฉ์ธ์์ ํธ์คํ ํจ์ผ๋ก์จ ๋ถํ์ํ ์ฟ ํค ์ ์ก์ผ๋ก ์ธํ ๋คํธ์ํฌ ํธ๋ํฝ ๋ถ๋ด์ ์ค์ผ ์ ์๋ค. ๋ค๋ง, ์ด๋ฌํ ๋ณ๋ ๋๋ฉ์ธ ์ด์์ ์ถ๊ฐ์ ์ธ ๊ด๋ฆฌ ๋น์ฉ๊ณผ ๋ณต์ก์ฑ์ ์๋ฐํ๋ฏ๋ก, ์๋น์ค์ ๊ท๋ชจ์ ์๊ตฌ์ ๋ฐ๋ผ ์ ์คํ ๊ฒํ ํ์ฌ์ผ ํ ๊ฒ์ด๋ค.
์ฐธ๊ณ ์๋ฃ
IETF - RFC 6265: HTTP State Management Mechanism
yahoo! developer - Best Practices for Speeding Up Your Web Site