์น ์๋ฒ๋ HTTP ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ์๋ตํ๋ค. ์๋ฒ๋ ๊ธฐ๋ฅ, ํํ, ํฌ๊ธฐ๊ฐ ๋ค์ํ์ง๋ง, ๋ฆฌ์์ค์ ๋ํ HTTP ์์ฒญ์ ๋ฐ์์ ์ฝํ ์ธ ๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ๋๋ ค์ค๋ค.
์น ์๋ฒ๋ HTTP์ ์ด์ ๊ด๋ จ๋ TCP ์ฒ๋ฆฌ๋ฅผ ๊ตฌํํ ๊ฒ์ด๋ค. ๊ทธ๋์ ์์ ์ด ์ ๊ณตํ๋ ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ๊ณ , ์๋ฒ๋ฅผ ์ค์ , ํต์ , ํ์ฅํ๊ธฐ ์ํ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
๋ํ, TCP ์ปค๋ฅ์ ๊ด๋ฆฌ์ ๋ํ ์ฑ ์์ OS์ ๋๋ ๊ฐ๋๋ค. (OS๋ ํ๋์จ์ด๋ฅผ ๊ด๋ฆฌํ๊ณ , TCP/IP ๋คํธ์ํฌ ์ง์, ํ์ผ ์์คํ , ํ๋ก์ธ์ค ๊ด๋ฆฌ๋ฅผ ์ง์ํ๋ค.)
1. ์ปค๋ฅ์
๋งบ๊ณ ๋ซ๊ธฐ
2. ์์ฒญ ๋ฐ๊ธฐ
3. ์์ฒญ ์ฒ๋ฆฌ
4. ๋ฆฌ์์ค ์ ๊ทผ
5. ์๋ต ๋ง๋ค๊ธฐ (ํค๋ + HTTP ์๋ต ๋ฉ์์ง)
6. ํธ๋์ญ์
๋ก๊ทธ ๋ง๋ค๊ธฐ
์ด๋ฏธ ์๋ฒ์ ๋ํด ์ด๋ ค์๋ ์ง์ ์ปค๋ฅ์
์ ๊ฐ๊ณ ์๋ค๋ฉด, ์์ฒญ์ ๋ณด๋ด๊ธฐ ์ํด ๊ทธ ์ปค๋ฅ์
์ ์ฌ์ฉํ ์ ์๋ค. ์๋๋ผ๋ฉด ์ ์ปค๋ฅ์
์ ์ฐ๋ค.
์ญ๋ฐฉํฅ DNS
๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์ IP ์ฃผ์๋ฅผ ํธ์คํธ ๋ช
์ ๋ณํํ๋๋ก ์ค์ ๋์ด ์๋ค. Hostname lookup
์ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ ค ์น ํธ๋์ญ์
์ ๋๋ฆฌ๊ฒ ํ ์ ์๋ค.๋ฉ์์ง ๋ด๋ถ ํํ
๋ช๋ช ์น ์๋ฒ๋ ์์ฒญ ๋ฉ์์ง๋ฅผ ์ฝ๊ฒ ๋ค๋ฃฐ ์ ์๋๋ก ๋ด๋ถ์ ์๋ฃ ๊ตฌ์กฐ์ ์ ์ฅํ๋ค.
์์ฒญ ๋ฉ์์ง์ ๊ฐ ์กฐ๊ฐ์ ๋ํ ํฌ์ธํฐ์ ๊ธธ์ด๋ฅผ ๋ด์ ์ ์๋ค.
ํค๋๋ lookup table์ ์ ์ฅ๋์ด ์ ์ํ๊ฒ ์ ๊ทผํ ์ ์๋ค.
์ปค๋ฅ์
์
/์ถ๋ ฅ ์ฒ๋ฆฌ ์ํคํ
์ฒ
๊ณ ์ฑ๋ฅ ์น ์๋ฒ๋ ์์ฒ ๊ฐ์ ์ปค๋ฅ์
์ ๋์์ ์ด ์ ์๋๋ก ์ง์ํ๋ค. ์ด ์ปค๋ฅ์
๋ค์ ์น ์๋ฒ๊ฐ ์ ์ธ๊ณ์ ํด๋ผ์ด์ธํธ๋ค๊ณผ ๊ฐ๊ฐ ํ ๊ฐ ์ด์์ ์ปค๋ฅ์
์ ํตํด ํต์ ํ ์ ์๋๋ก ํด์ค๋ค.
์น ์๋ฒ๊ฐ ์์ฒญ์ ๋ฐ์ผ๋ฉด ์๋ฒ๋ ์์ฒญ์ผ๋ก๋ถํฐ ๋ฉ์๋
, ๋ฆฌ์์ค
, ํค๋
, ๋ณธ๋ฌธ(์์์๋)
์ ์ป์ด๋ด์ด ์ฒ๋ฆฌํ๋ค.
์น ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ฝํ ์ธ ๋ฅผ ์ ๋ฌํ๋ ค๋ฉด, ๊ทธ์ ์ ์์ฒญ ๋ฉ์์ง์ URI์ ๋์ํ๋ ์๋ง์ ์ฝํ ์ธ ๋ ์ฝํ ์ธ ์์ฑ๊ธฐ๋ฅผ ์น ์๋ฒ์์ ์ฐพ์์ ์๋ณํด์ผํ๋ค.
Docroot
๋ฆฌ์์ค ๋งคํ์ ์์ฒญ URI๋ฅผ ์น ์๋ฒ ์์คํ
์์ ์๋ ํ์ผ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ์ฅ ํํ๋ค. ์ด๊ฒ์ ๋ฌธ์ ๋ฃจํธ ํน์ Docroot๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๊ฐ์ ํธ์คํ
๋ ์น ์๋ฒ๋, ํ ์น ์๋ฒ์์ ์ฌ๋ฌ ๊ฐ์ ์น ์ฌ์ดํธ๋ฅผ ํธ์คํ
ํ๋ค.
๋๋ ํ ๋ฆฌ ๋ชฉ๋ก
์น ์๋ฒ๋ ๊ฒฝ๋ก๊ฐ ํ์ผ์ด ์๋ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ฐ๋ฆฌํค๋, ๋๋ ํ ๋ฆฌ URL์ ๋ํ ์์ฒญ์ ๋ฐ์ ์ ์๋ค.
index(์์ธ) ํ์ผ
๋ฐํHTML
ํ์ผ ๋ฐํ๋์ ์ฝํ
์ธ ๋ฆฌ์์ค ๋งคํ
์น ์๋ฒ๋ URL๋ฅผ ๋์ ๋ฆฌ์์ค์ ๋งคํํ ์๋ ์๋ค.
ํน์ ๋ฆฌ์์ค๊ฐ ๋์ ๋ฆฌ์์ค๋ผ๋ฉด, ์ดํ๋ฆฌ์ผ์ด์
์๋ฒ
๋ ๊ทธ์ ๋ํ ๋์ ์ฝํ
์ธ ์์ฑ ํ๋ก๊ทธ๋จ์ด ์ด๋์ ์๋์ง, ์ด๋ป๊ฒ ํ๋ก๊ทธ๋จ์ ์คํํ๋์ง ์๋ ค์ค ์ ์์ด์ผํ๋ค.
์๋ฒ์ฌ์ด๋ ์ธํด๋ฃจ๋(SSI)
๋ง์ ์น ์๋ฒ๊ฐ SSI๋ฅผ ์ง์ํ๋ค. ๋ง์ฝ ์ด๋ค ๋ฆฌ์์ค๊ฐ ์๋ฒ์ฌ์ด๋ ์ธํด๋ฃจ๋๋ฅผ ํฌํจํ๊ณ ์๋ ๊ฒ์ผ๋ก ์ค์ ๋์ด ์๋ค๋ฉด, ์๋ฒ๋ ๊ทธ ๋ฆฌ์์ค์ ์ฝํ
์ธ ๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ด๊ธฐ ์ ์ ์ฒ๋ฆฌํ๋ค.
์ ๊ทผ ์ ์ด
์น ์๋ฒ๋ ๊ฐ๊ฐ ๋ฆฌ์์ค์ ๋ํด ์ ๊ทผ ์ ์ด๋ฅผ ํ ์ ์๋ค. ๋ฆฌ์์ค์ ๋ํ ์์ฒญ์ด ๋์ฐฉํ์ ๋, ์น์๋ฒ๋ ํด๋ผ์ด์ธํธ์ IP ์ฃผ์์ ๊ทผ๊ฑฐํ์ฌ ์ ๊ทผ์ ์ ์ดํ ์ ์๊ณ , ๋ฆฌ์์ค์ ์ ๊ทผํ๊ธฐ ์ํ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฌผ์ ์๋ ์๋ค.
์๋ฒ๊ฐ ๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ฉด, ์๋ฒ๋ ์์ฒญ ๋ฉ์๋๋ก ์์ ๋๋ ๋์์ ์ํํ ํ ์๋ต ๋ฉ์์ง
๋ฅผ ๋ฐํ ํ๋ค.
MIME type : ํด๋ผ์ด์ธํธ์๊ฒ ์ ์ก๋ ๋ฌธ์์ ๋ค์์ฑ์ ์๋ ค์ฃผ๊ธฐ ์ํ ๋งค์ปค๋์ฆ. ๊ฐ ๋ฌธ์์ ํจ๊ป ์ฌ๋ฐ๋ฅธ MIME ํ์ ์ ์ ์กํ๋๋ก, ์๋ฒ๊ฐ ์ ํํ ์ค์ ํ๋ ๊ฒ์ด ์ค์ํ๋ค.
3XX
๋ก ์ง์นญ๋๋ ๊ฒ๋ค์ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ค๋ฅธ ๊ณณ์ผ๋ก ๊ฐ๋๋ก ๋ฆฌ๋ค์ด๋ ํธ
ํด์ฃผ๋ ๊ฒ. /
๋ฅผ ๋น ๋จ๋ฆฐ ๊ฒฝ์ฐ)์๋ฒ๋ ์ปค๋ฅ์
์ํ๋ฅผ ์ถ์ ํด์ผ ํ๋ฉฐ, ์ง์ ์ปค๋ฅ์
์ ํน๋ณํ ์ฃผ์ํด์ผํ๋ค. Content-length ํค๋๋ฅผ ๋ฐ๋ฅด๊ฒ ๊ณ์ฐํ๊ฑฐ๋, ํด๋ผ์ด์ธํธ์ ์๋ต์ด ์ธ์ ๋๋๋์ง ์ ์ ์๋ ๊ฒฝ์ฐ -> ์ปค๋ฅ์
์ด ์ด๋ฆฐ ์ํ
์ ์ง
ํธ๋์ญ์ ์ด ์ด๋ป๊ฒ ์ํ๋์๋์ง์ ๋ํ ์ ๋ณด log ํ์ผ์ ๊ธฐ๋กํ๋ค.
์ด ๊ธ์ HTTP ์๋ฒฝ ๊ฐ์ด๋
๋ฅผ ์ฝ๊ณ ์ ๋ฆฌํ ๊ธ์
๋๋ค.
์ ์๊ถ ๋ฐ ๊ธฐํ ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์ธ์.
๊ฐ์ฌํฉ๋๋ค.