์ฑ ์ ์ฝ๊ณ ๊ณต๋ถํ ๋ด์ฉ์ ๊ธฐ๋กํ ๊ธ์ ๋๋ค.
์น ์๋ฒ์ ํํ๋ ์น ์๋ฒ ์ํํธ์จ์ด, ์น ์๋ฒ์ฉ ์ฅ๋น ๋ชจ๋ ๊ฐ๋ฆฌํจ๋ค. ์น์๋ฒ๊ฐ ํ๋ ์ผ์ HTTP ํ๋กํ ์ฝ์ ๊ตฌํํ๊ณ , ์น ๋ฆฌ์์ค ๊ด๋ฆฌํ๊ณ , TCP ์ปค๋ฅ์ ๊ด๋ฆฌ๋ฅผ ์ด์์ฒด์ ์ ๋๋ ๊ฐ๋๋ค. ์ด๊ฑธ ์ข ๋ ์ธ๋ถํ ํ๋ฉด
- ์ปค๋ฅ์ ์ฐ๊ฒฐ
- ์์ฒญ ๋ฉ์์ง ์์
- ์์ฒญ์ฒ๋ฆฌ
- ๋ฆฌ์์ค ์ ๊ทผ
- ์๋ต ์์ฑ
- ์๋ต ์ก์
- ํธ๋์ญ์ ๊ธฐ๋ก(ํธ๋์ญ์ ๊ธฐ๋ก์ OS์์ ๋จ๋๋ค.)
์ด๋ ๊ฒ 7๊ฐ ๋จ๊ณ๋ก ๊ตฌ๋ถํ ์ ์๋ค.
์ปค๋ฅ์ ์ฐ๊ฒฐ
์ด๋ฏธ ์ด๋ ค์๋ ์ง์ ์ปค๋ฅ์ ์ด ์์ผ๋ฉด ๊ทธ๊ฑธ ์ฐ๊ณ , ๊ทธ๊ฒ ์๋๋ฉด ์ ์ปค๋ฅ์ ์ ์ฐ๊ฒฐํ๋ค. ์น์๋ฒ๋ ์ปค๋ฅ์ ์ด ์ฐ๊ฒฐ๋๋ฉด TCP ์ปค๋ฅ์ ์์ IP ์ฃผ์๋ฅผ ์ถ์ถํด ํด๋ผ์ด์ธํธ๋ฅผ ์๋ณํ๋ค. ์น ์๋ฒ๋ ํด๋ผ์ด์ธํธ๋ฅผ ํ์ธํ๊ณ ์ปค๋ฅ์ ์ ์ ์งํ ์๋, ๊ทธ๋ฅ ๋์ด๋ฒ๋ฆด ์๋ ์๋๋ฐ, ๋ค์ ๋ฐฉ๋ฒ๋ค๋ก ์๋ณํ๋ค.
1. Reverse DNS๋ฅผ ์ด์ฉํ hostname ์๋ณ -> lookup์ ๋๋ ์๊ฐ์ด ๊ฝค ๋๋ค.
2. HTTP ์ปค๋ฅ์ ์ฃผ์ฒด๋ฅผ ์๋ ค์ฃผ๋ ident ํ๋กํ ์ฝ(TCP 113๋ฒ ํฌํธ)์ ์ ๋ณด๋ฅผ ์ฌ์ฉํ๋ค. ์ด ๊ฒฝ์ฐ์ ์๋ฒ๊ฐ ident ์ปค๋ฅ์ ์ ๋งบ์ด์ ์ฌ์ฉ์์ ident ์๋ต์ ํ์ธํด์ ํด๋ผ์ด์ธํธ ์๋ณ์ ํ๋๋ฐ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ค. ์์ ํ์ง ์์ ๋ฐฉํ๋ฒฝ์ ๋งํ ์ ์๊ณ ident ์ปค๋ฅ์ ์ ์ฐ๊ฒฐํด ์์ ํ๋ ๊ฒ๋ ์ง์ฐ์๊ฐ์ ํฌํจ๋๋๋ฐ๋ค๊ฐ identd๋ฅผ ์ฐจ์ฉํ๋ public network๊ฐ ๋๋ฌผ๊ธฐ ๋๋ฌธ์ด๋ค.
์์ฒญ ๋ฉ์์ง ์์
์ปค๋ฅ์ ์ ์ฑ๊ณต์ ์ผ๋ก ๋งบ๊ณ , ๋ฐ์ดํฐ๊ฐ ๋์ฐฉํ๋ฉด ์์ฒญ๋ฉ์์ง๋ฅผ ๋ฐ๋๋ค. ์ด๊ฑธ ํ์ฑํ ๋ ์์ฒญ ๋ฉ์๋, URI, HTTP ๋ฒ์ ๋ฒํธ๋ฅผ ์ฐพ๊ณ ํค๋๋ค์ ์์ ํ๋ค. ์ด์ ์ฅ์์ ํ๋ฏ์ด CRLF๋ก ๊ตฌ๋ถํ๋ค. (OS๋ณ ์ฐจ์ด๋ฅผ ๋์ง ์๊ธฐ์ํด ๋๋ถ๋ถ ์น์๋ฒ๊ฐ CR, LF ๋ชจ๋ ์ค๋ฐ๊ฟ์ผ๋ก ์ธ์ํ๋ค.)
ํ์ฑํ ๋ ์ ๋ ฅ๋ฐ์ดํฐ๊ฐ ํ๋ฒ์ ์ญ ์จ๋ค๋ ๋ณด์ฅ์ด ์๊ณ , ์ปค๋ฅ์ ์ด ์ค๊ฐ์ ๋ซํ ์๋ ์๊ธฐ ๋๋ฌธ์ ๋ฉ์์ง ์ผ๋ถ๋ถ์ ์บ์ฑํด๋ ํ์๊ฐ ์๋ค.
์์ฒญ ์ฒ๋ฆฌ
์์ฒญ ๋ฉ์์ง์ ๋ด๊ธด ๋ฉ์๋์ ๋ฐ๋ผ ์ฒ๋ฆฌํ๋ค. (๋ท ์ ์์ ์์ธํ๊ฒ ๋์จ๋ค๊ณ ํ๋ค..)
๋ฆฌ์์ค ๋งคํ๊ณผ ์ ๊ทผ
- docroot(๋ฌธ์ ๋ฃจํธ)
- ๊ฐ์ฅ ๋จ์ํ ํํ๋ค. ์์ฒญ URI๋ฅผ ์น ์๋ฒ ํ์ผ์์คํ ์์ ์๋ ํ์ผ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ๋ ํํ๋ก ์์ฒญ๋ฉ์์ง์์ URI ๋ผ์ ๋ฌธ์ ๋ฃจํธ ๋ค์ ๋ถ์ธ๋ค.
- /a/b.png ๊ฐ ์์ฒญ URI์๋ค๋ฉด ๋ฌธ์๋ฃจํธ(์น ์ปจํ ์ธ ๋ฅผ ์ํด ์์ฝํด๋ ๋๋ ํฐ๋ฆฌ)์ธ /root/res/ ๋ค์ ๋ถ์ฌ์ /root/res/a/b.png ๋ก ์ง์ ์ ๊ทผํ ์ ์๋ค.
- ๊ฐ์ํธ์คํ
๋ docroot
- ํ ์น์๋ฒ์์ ์ฌ๋ฌ๊ฐ ์น ์ฌ์ดํธ๋ฅผ ํธ์คํ ํ ๋, URI๋ ํค๋์์ ์ป์ ํธ์คํธ๋ช (IP์ฃผ์)๋ฅผ ์ด์ฉํด ๋ฌธ์๋ฃจํธ๋ฅผ ์๋ณํ๋ค.
- ์ฌ์ฉ์ ํ ๋๋ ํฐ๋ฆฌ docroot
- ๋ฌธ์๋ฃจํธ ๋ฐ์ ๋ ์ฌ์ฉ์ ๋ช ์ ๊ธฐ๋ฐ์ผ๋ก ํด์ ๊ฐ์ธ docroot๋ฅผ ์ ๊ณตํ๋ ํํ
- ๋๋ ํฐ๋ฆฌ ๋ชฉ๋ก์ ์ ๊ทผํ๋ค๋ฉด?
- ๊ณต๊ฒฉ์ ์ฌ์ฉ๋ ์ ์์ผ๋ฏ๋ก ์๋ฌ๋ฅผ ๋ฐํํ๋๊ฒ ์ผ๋ฐ์ ์ด๊ณ , ๋ฏธ๋ฆฌ ์ค๋นํด๋ index.html๊ฐ์ ํ์ด์ง๋ก ๋๋ฉ ์ํจ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ๋ฐ๊ฒฌํ ์ ์์ง๋ง ์์ธ ํ์ด์ง์์ ์ ์ ์๋ ์ ๋ณด๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋ง์๋๋๊ฒ ์์ ํ๋ค.
- ๋์ ์ฝํ
์ธ ๋ฆฌ์์ค ๋งคํ
- ์์ฒญ์ ๋ง๊ฒ ์ฝํ ์ธ ๋ฅผ ์์ฑํ๋ ํ๋ก๊ทธ๋จ์ URI๋ฅผ ๋งตํํ๋ค. URI๋ฅผ ๋ฐ์ ๋์ ๋ฆฌ์์ค๋ฅผ ์์ฑํ๊ณ ๊ทธ๊ฑธ ๋ฐํํ๋ ํํ๋ก ์น์๋ฒ๊ฐ ์ค๊ฐ์ ์ญํ ์ ํ๊ฒ ๋๋ค.
- ์๋ฒ์ ๋ฆฌ์์ค๊ฐ ์๋๊ฒ ํ์คํ๋ฉด(์๋ฒ ์ฌ์ด๋ ์ธํด๋ฃจ๋) ๋ฏธ๋ฆฌ ๋ฆฌ์์ค ์ปจํ ์ธ ๋ฅผ ์ฒ๋ฆฌํด์ ๋์ ์ฝํ ์ธ ์ฒ๋ฆฌ๋ฅผ ์ฝ๊ฒ ํ ์ ์๋ค.
- ๋ฆฌ์์ค์ ์ ๊ทผํ ๋ ๊ถํ์ด ํ์ํ ๊ฒฝ์ฐ๋ ์๋ค.(๊ฐ์ธ์ ๋ณด, ์์ ๊ถํ์ด ํ์ํ ํ์ด์ง ๊ฐ์)
์๋ต ์์ฑ
- ํธ๋์ญ์
์ด ์๋ต ๋ณธ๋ฌธ์ ์์ฑํ๋ค๋ฉด ๊ทธ๊ฑธ ์๋ต ๋ฉ์์ง๋ ํจ๊ป ๋ณด๋ธ๋ค.
- MIME ๊ฒฐ์
- ์๋ต ๋ณธ๋ฌธ์ด ์์ ๋ MIME ํ์
์ ๊ฒฐ์ ํด์ผ๋๋ ์ฑ
์์ด ์น์๋ฒ์ ์๋ค.
- ํ์ฅ์๋ณ MIME ํ์ ์ด ๋ด๊ฒจ์๋ mime.types๋ฅผ ์ค์บํ๊ฑฐ๋
- ํ์ผ ๋ด์ฉ์ ๊ฒ์ฌํด์ ๋งค์ง ํ์ผ(์๋ ค์ง ํจํด์ด ์๋ ํ ์ด๋ธ)์ ๋งค์นญ์์ผ ํ์ ์ ์ฐพ๋๋ค. ํ์ค ํ์ฅ์๊ฐ ์๋๋ผ๋ฉด ์ด ๋ฐฉ๋ฒ์ด ์ข๋ค. <- ๋งค์ง ํ์ดํ์ด๋ผ๊ณ ํจ
- ์ ํ ๋ช ์ - ์น ์๋ฒ ์์ฒด์์ ๋ฆฌ์์ค์ mime ํ์ ์ ์ง์ ํด๋๋ ๋ฐฉ๋ฒ์ด๋ค.
- ์๋ต ๋ณธ๋ฌธ์ด ์์ ๋ MIME ํ์
์ ๊ฒฐ์ ํด์ผ๋๋ ์ฑ
์์ด ์น์๋ฒ์ ์๋ค.
- MIME ๊ฒฐ์
- 200 OK ๋์ ๋ฆฌ๋ค์ด๋ ์
(3XX)์ ๋ฐํํ ๋๋ ์๋ค.
- Location ์๋ตํค๋์ ํด๋น URI ๊ฐ ํฌํจ๋์ด์๋ค. ๋ฆฌ์์ค๊ฐ ์ฎ๊ฒจ์ง ๊ฒฝ์ฐ ๋ฆฌ๋ค์ด๋ ์ ์ ํตํด ์๋ฆฐ๋ค.
- ๋ฆฌ์์ค์ ์์น ๋ณํ๊ฐ ์๋๋ผ๋ ์ด๋ฏธ ์ฌ์ฉ์์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์๋ ์๋ฒ์ ์ ๊ทผํ ์ ์์ผ๋ฉด ๊ฑฐ๊ธฐ๋ก ๋ณด๋ธ๋ค.
- URL์ ์ข๋ ๊ตฌ์ฒด์ ์ผ๋ก ๋ง๋ค๊ฑฐ๋, ๊ณผ๋ถํ๋ฅผ ์กฐ์ ํ๊ธฐ ์ํด์ ๋ฆฌ๋ค์ด๋ ํ ์ ์ฌ์ฉํ ๋๋ ์๋ค.
- ์คํ ๊ฒ์ฌ๋ ํด์ค ์ ์๋ค.
์๋ต ์ก์
์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ๋ํ ๋ง์ ์ปค๋ฅ์ ์ ๊ฐ์ง ์ ์๊ณ ์ปค๋ฅ์ ์ํ๋ฅผ ์ถ์ ํ๋ฉด์ ๋ชจ๋ ์๋ต์ ์ก์ ํ์ ๋ ์ปค๋ฅ์ ์ ๋ซ์ ์๋, ์ง์ํด์ ์ด์ด๋ ์๋ ์๋ค. ์ง์ํ ๊ฒฝ์ฐ์๋ Content Length๋ฅผ ์ด์ฉํ๋ค.
๋ก๊น ์ ๊ทธ๋ฅ ์น ์๋ฒ๊ฐ ํธ๋์ญ์ ์ด ์์ฑ๋์์ ๋ ๋ก๊ทธ ํ์ผ์ ํธ๋์ญ์ ์ํ๋ด์ฉ์ ๊ธฐ๋กํ๋ ๊ฒ์ด๋ค.
๋์์ด ๋๋ค๋ฉด ๋๊ธ์ด๋ ๊ณต๊ฐ ๋ฒํผ ํ ๋ฒ์ฉ ๋๋ฅด๊ณ ๊ฐ์ฃผ์ธ์! ๋ก๊ทธ์ธ ์ํด๋ ๋ฉ๋๋ค ^_^
'๐๐๏ธ > HTTP ์๋ฒฝ ๊ฐ์ด๋๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[7์ฅ] 7.1~7.9 (0) | 2024.03.14 |
---|---|
[6์ฅ] 6.1~ (0) | 2024.02.29 |
[3์ฅ ~ 4์ฅ] 3.4 ~ 4.7 (0) | 2024.02.16 |
[3์ฅ] 3 ~ 3.3 (0) | 2024.02.14 |
[1์ฅ ~ 2์ฅ] 1.7 ~ 2.4 (1) | 2024.02.12 |