1. HTTP ๋ฆฌํ์คํธ ๋ฉ์ธ์ง๋ฅผ ์์ฑํ๋ค
์ฌ์ฉ์๊ฐ ๊ตฌ๊ธ ํฌ๋กฌ์ด๋ ํ์ด์ดํญ์ค์ ๊ฐ์ ์น ๋ธ๋ผ์ฐ์ ์ URL(ex. http://www.naver.com)์ ์ ๋ ฅํ๋ฉด ์น ๋ธ๋ผ์ฐ์ ๋ ์ด URL์ ํด๋ ํ๋ค. URL์ ๋ชจ์์์ ๊ด๋ จํด์๋ ์ ์ธ๊ณ์ ์ผ๋ก ๋ชจ๋๊ฐ ํฉ์๋ ๊ท์น์ด ์ ํด์ ธ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ ์ผ.
URL์๋ ์ด๋ ํ ํต์ ํ๋กํ ์ฝ์ ์ฌ์ฉํ ๊ฒ์ธ์ง ํ๊ธฐ๋์ด ์๋๋ฐ(ex. HTTP, FTP) ๋๊ฐ์ ๊ฒฝ์ฐ ์น ๋ธ๋ผ์ฐ์ ๋ HTTP ํต์ ์ ๋ค๋ฃฌ๋ค. ๋ค๋ฅธ ํ๋กํ ์ฝ์ ์ด์ฉํ ํต์ ์ ์ง์ํ๊ธฐ๋ ํ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก๋ HTTP์ ํ์ ์ง์ด ์๊ฐํด๋ ๊ด์ฐฎ๋ค.
์ฌํผ ์ฌ์ฉ์๊ฐ ๋ง๋ URL์ ํด๋ ํด์ ์น ๋ธ๋ผ์ฐ์ ๋ HTTP Request Message๋ฅผ ๊ตฌ์ฑํ๋ค. ์ด ์ญ์๋ ๋ชจ์์์ ๋ํ ๊ท์น์ด ์ ํด์ ธ ์๊ธฐ ๋๋ฌธ์ ์ด๋ ํ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํด๋ ๋ง๋ค์ด์ง๋ HTTP Request Message์ ํฐ ํ์ ๋์ผํ๋ค. (๋ฌผ๋ก ์ธ๋ถ ๋ด์ฉ์ ๋ธ๋ผ์ฐ์ ๋ง๋ค ์กฐ๊ธ์ฉ ๋ค๋ฅผ ์ ์๋ค.)
2. ์น ์๋ฒ์ IP ์ฃผ์๋ฅผ DNS ์๋ฒ์ ์กฐํํ๋ค
1๋ฒ ๋จ๊ณ์์ HTTP Request Message๋ฅผ ๋ง๋ ๋ค์์๋ ์ด ๋ฉ์ธ์ง๋ฅผ ์๋ฒ์ ๋ณด๋ด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, ์ฐ๋ฆฌ๋ค์ ๋ณ ์๊ฐ์์ด ๋ธ๋ผ์ฐ์ ์ฐฝ์ http://www.naver.com์ ์ ๋ ฅํ์ง๋ง, ์ค์ ๋ก๋ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ด URL์ ํด๋ ํด์ HTTP Request Message๋ฅผ ๋ง๋ค๊ณ , ์ด ๋ฉ์ธ์ง๋ฅผ ๋ค์ด๋ฒ ์๋ฒ์ ์ ์กํ์ฌ ๊ทธ์ ๋ํ ์๋ต์ ๋ฐ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ์๋ต์ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ค์ ํด๋ ํด์ ์ฐ๋ฆฌ ๋์ ๋ณด์ด๋ ํ๋ฉด์ ๋ฟ๋ ค์ค๋ค.
์ฌํผ ์ด๋ ๋ค์ด๋ฒ ์๋ฒ์๊ฒ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๊ธฐ ์ํด ๋คํธ์ํฌ ์ธ์์์๋ ์๋ฒ์ IP ์ฃผ์๋ฅผ ์์์ผ ํ๋ค. http://www.naver.com์ ๋๋ฉ์ธ ์ฃผ์์ง IP ์ฃผ์๊ฐ ์๋๋ค. ์ฌ๋๋ค์ด ๋๋ฉ์ธ ์ฃผ์๋ฅผ ์์ฑํ๋ฉด ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ฌ๋๋ค ๋์ ์ ๋๋ฉ์ธ ์ฃผ์๋ฅผ ํตํด IP ์ฃผ์๋ฅผ ์์๋ด๋ ์๋น์ค๋ฅผ ์ ๊ณตํด์ค๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์น ๋ธ๋ผ์ฐ์ ๋ ์ด๋ป๊ฒ ๋๋ฉ์ธ ์ฃผ์๋ฅผ ํตํด IP ์ฃผ์๋ฅผ ์์๋ผ๊น?
์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ชจ๋ ๋๋ฉ์ธ๊ณผ IP ์ฃผ์์ ๋งคํ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ ์์ ์๋ ์๋ค. ์ด๋ฌํ ์ญํ ์ ๋์ ํด์ฃผ๋ ๊ฒ์ด DNS ์๋ฒ์ด๋ค.
์ ๋ง ๋จ์ํ๊ฒ ์ถ์ํํด์ ์ด์ผ๊ธฐํ์๋ฉด DNS ์๋ฒ์ ์ด ์ธ์์ ๋ชจ๋ ๋๋ฉ์ธ๊ณผ IP ์ฃผ์์ ๋งคํ๊ด๊ณ๊ฐ ๊ธฐ๋ก๋์ด ์๋ค. ์น ๋ธ๋ผ์ฐ์ ๊ฐ DNS ์๋ฒํํ 'http://www.naver.com์ IP์ฃผ์๊ฐ ๋ญ์ผ?'๋ผ๊ณ ๋ฌผ์ด๋ณด๋ฉด DNS ์๋ฒ๋ ๊ทธ์ ๋ํ ๋ต์ ์ฃผ๊ณ , ์น ๋ธ๋ผ์ฐ์ ๋ ๊ทธ IP ์ฃผ์๋ฅผ ๋ฐ์์ HTTP Request Message๋ฅผ ์ ๋ฌํ๋ค.
ํ์ง๋ง ์กฐ๊ธ ๋ ์ ํํ ์ด์ผ๊ธฐํ์๋ฉด ์น ๋ธ๋ผ์ฐ์ ๊ฐ DNS ์๋ฒํํ ๋ค์ด๋ ํธ๋ก ์ง๋ฌธ์ ๋์ง์ง๋ ์๋๋ค. ๊ฐ OS๋ง๋ค DNS ์๋ฒํํ ์ง๋ฌธ์ ๋์ง๋ ์ญํ ์ ๋ด๋นํ๋ ๋ฆฌ์กธ๋ฒ(Resolver)๊ฐ ์๋ค. ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ด ๋ฆฌ์กธ๋ฒ์๊ฒ ๋๋ฉ์ธ ์ฃผ์์ IP๋ฅผ ์์๋ด๋ฌ๋ผ๊ณ ๋ถํํ๋ฉด, ๋ฆฌ์กธ๋ฒ๋ DNS ์๋ฒํํ ๋ฌผ์ด๋ด์ ๋ต์ ์ ๋ฌํด์ค๋ค.
3. ์ ์ธ๊ณ์ DNS ์๋ฒ๊ฐ ์ฐ๋ํ๋ค
์ถ์ํํด์ ์ด์ผ๊ธฐํ๋ฉด DNS ์๋ฒ์ ์ด ์ธ์์ ๋ชจ๋ ๋๋ฉ์ธ๊ณผ IP ์ฃผ์๊ฐ ๊ธฐ๋ก๋์ด ์๋ค๊ณ ํ์ง๋ง, DNS ์๋ฒ ํ๋์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ๋ชฐ๋นต์ผ๋ก ๋ค์ด๊ฐ์์ง๋ ์๋ค. ๋๋ฉ์ธ์ ๋ณด๋ฉด http://www.naver.com๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋์ด ์๋๋ฐ .com ๋๋ฉ์ธ์ ํด๋นํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ DNS ์๋ฒ๊ฐ ์๊ณ , .kr ๋๋ฉ์ธ์ ํด๋นํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ DNS ์๋ฒ๊ฐ ๋ณ๋๋ก ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฃจํธ ๋๋ฉ์ธ ์๋ฒ๋ผ๊ณ ํด์ ์ด ๋ชจ๋ ๋๋ฉ์ธ ์๋ฒ๋ค๊ณผ ์ฐ๊ฒฐ๋์ด์๋ ์ต์์ ์๋ฒ๊ฐ ์๋ค.
์ฌํผ ๋ฆฌ์กธ๋ฒ๋ ์ฌ๋ฌ ๋์ DNS ์๋ฒ ์ค์์ ์์ ๊ณผ ๊ฐ์ฅ ๊ฐ๊น์ด ์๋ DNS ์๋ฒ์ ๋ฆฌ์กธ๋ธ ์์ฒญ์ ๋ณด๋ธ๋ค. ์ด ์ธ์์ ์๋ ๋ชจ๋ DNS ์๋ฒ์๋ ๋ฃจํธ DNS ์๋ฒ์ ์ฃผ์๋ฅผ ์๊ณ ์๊ธฐ ๋๋ฌธ์, ํ์ DNS ์๋ฒ๋ ์๊ธฐ๊ฐ ๋ฐ์ ์์ฒญ์ ๋ฃจํธ ๋๋ฉ์ธ ์๋ฒ์ ๋ค์ ๋ ๋ฆฐ๋ค. ๊ทธ๋ฌ๋ฉด ๋ฃจํธ ๋๋ฉ์ธ ์๋ฒ๋ URL์ ๋ณด๊ณ ์๋ '์ ์๋ .com์ ๊ด์ฅํ๋ ๋๋ฉ์ธ ์๋ฒ๊ฐ ์๊ณ ์์๊ฑฐ์ผ. ๊ทธ ๋๋ฉ์ธ ์๋ฒ IP์ฃผ์๊ฐ xxx.xxx.xxx.xxx๋๊น ์ฌ๊ธฐ๋ก ๋ค์ ์์ฒญ ๋ ๋ ค๋ด'๋ผ๊ณ ๋ต์ ์ค๋ค. ๊ทธ๋ฌ๋ฉด ๊ทธ ํ์ DNS ์๋ฒ๋ ๋ค์ xxx.xxx.xxx.xxx๋ก ์์ฒญ์ ๋ ๋ ค์ ์ค์ ์ฌ์ฉ์๊ฐ ์ ์ URL์ IP ์ฃผ์๋ฅผ ์ฐพ์๊ฐ๋ค.
4. ํ๋กํ ์ฝ ์คํ์ ๋ฉ์์ง ์ก์ ์ ์๋ขฐํ๋ค
3๋ฒ๊น์ง ํด์ ์๋ ์๋ฒ์ IP ์ฃผ์๋ฅผ ์์๋์ผ๋ฉด ์ด์ ์ง์ง๋ก HTTP Request Message๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด์ผ ํ๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ์ผ ์์ฒด๋ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ง์ ์ํํ์ง ์๋๋ค. OS์ ๋ด๋ถ์ ์๋ ํ๋กํ ์ฝ ์คํ(OS์ ์ด๋ฏธ ๊ฐ๋ฐ๋์ด ์๋ TCP/IP ์ํํธ์จ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค)์๊ฒ ๊ทธ ์ผ์ ์๋ขฐํ๋ค.
์ผ๋จ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ค๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ์ชฝ๊ณผ ๋ฐ๋ ์ชฝ ์ฌ์ด์ ํ์ดํ๋ผ์ธ์ด ๊ตฌ์ถ๋์ด์ผ ํ๋ค. ๊ทธ ์์ ์ ์ํํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๋ค.
1. ๋ธ๋ผ์ฐ์ ์์ ํ๋กํ ์ฝ ์คํํํ ์์ผ ์์ฑ์ ์์ฒญํ๋ค.
2. ์์ผ์ด ์์ฑ๋๋ฉด ๋์คํฌ๋ฆฝํฐ(Descriptor)๋ผ๋ ๋ฐ์ดํฐ๊ฐ ๋ธ๋ผ์ฐ์ ์ ๋ฐํ๋๊ณ , ๋ธ๋ผ์ฐ์ ๋ ์ด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋ค๊ณ ์๋๋ค.
3. 1์์ ๋ฐ์ ๋์คํฌ๋ฆฝํฐ, ์ด์ ๋จ๊ณ์์ ์ป์ ์๋ IP ์ฃผ์, (๋์ฒด๋ก ๋ชจ๋๊ฐ ๊ณต๊ณต์ฐํ๊ฒ ์๊ณ ์๋) ํฌํธ๋ฒํธ๋ฅผ ๊ฐ์ง๊ณ ๋ธ๋ผ์ฐ์ ๋ ํ๋กํ ์ฝ ์คํ์๊ฒ connect ์์ ์ ์์ฒญํ๋ค. ์ด ๋จ๊ณ์์ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑ์ด ์๋ฃ๋๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
์ด์ ์ฐ๊ฒฐ๋ ํ์ดํ๋ผ์ธ์ ํตํด ๋ฐ์ดํฐ๊ฐ ์๋ฒ์ ๋์ด๊ฐ๋ค.
'๊ธฐํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฆฌ๋ ์ค] csh ํ๊ธ๊นจ์ง (0) | 2022.04.14 |
---|---|
[๋ฆฌ๋ ์ค] free ๋ช ๋ น์ด (0) | 2022.03.11 |
[์ธํ ๋ฆฌ์ ์ด] ์ธํ ๋ฆฌ์ ์ด public static void main (0) | 2021.07.28 |
[์ธํ ๋ฆฌ์ ์ด] ์๋์ฐ ๋จ์ถํค (0) | 2021.07.28 |