๐ ์ธํฐ๋ท ํต์

ํด๋ผ์ด์ธํธ๋ ์๋ฒ์๊ฒ ์์ฒญ(request)์ ๋ณด๋ด๊ณ , ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ํ ์๋ต(response)์ ํ๋ค.
๋ฉ์ธ์ง๋ฅผ ์ ์กํ ๋ ๋ณต์กํ ์ธํฐ๋ท ๋ง์ ๊ฑฐ์น๊ฒ ๋๋๋ฐ, ๋ฉ์ธ์ง๊ฐ ์ ์ ์ก๋๊ธฐ ์ํด์๋ ์ผ๋ จ์ ๊ท์น์ด ํ์ํ๋ค.
๐ IP(Internet Protocol)

๋ณต์กํ ์ธํฐ๋ท์ ๊ฑฐ์ณ ๋ฉ์ธ์ง๋ฅผ ์ ์ ์กํ๊ธฐ ์ํด์ ๊ฐ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ๊ฐ๊ฐ IP ์ฃผ์๋ฅผ ๋ถ์ฌ๋ฐ๋๋ค.
์ด๋ IP๋ ์ง์ ํ IP ์ฃผ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ณ , ํจํท์ด๋ผ๋ ํต์ ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ์ญํ ์ ํ๋ค.
์ ์กํ๋ ค๋ ๋ฐ์ดํฐ์ ์ถ๋ฐ์ง IP, ๋ชฉ์ ์ง IP ๋ฑ์ ์ ๋ณด๋ฅผ ๋ํด IP ํจํท์ผ๋ก ๋ง๋ ๋ค.
๐ IP์ ํ๊ณ
ํ์ง๋ง IP์๋ ํ๊ณ์ ๋ค์ด ์๋ค.
- ๋น์ฐ๊ฒฐ์ฑ : ํจํท์ด ๋ฐ์ ๋์์ด ์๊ฑฐ๋, ์๋น์ค ๋ถ๋ฅ ์ํ์ฌ๋ ์ ์ก์ด ์ด๋ฃจ์ด์ง๋ค.
- ๋น์ ๋ขฐ์ฑ : ์ธํฐ๋ท์์ ๋ฉ์ธ์ง๋ฅผ ์ ์กํ๋ ๊ณผ์ ์์ ํจํท์ด ์์ค๋์ด๋ ํด๋ผ์ด์ธํธ๋ ๋ชจ๋ฅธ๋ค. ๋ํ ํจํท์ ์์๋ฅผ ๋ณด์ฅํด์ฃผ์ง ์๋๋ค.
- ํ๋ก๊ทธ๋จ ๊ตฌ๋ถ : ๊ฐ์ IP๋ฅผ ์ฌ์ฉํ๋ ์๋ฒ์์ ํต์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ ์ด์์ผ ๋ ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ง๋ ํจํท์ ์ ๋ฌํด์ผํ๋์ง ์ ์๊ฐ ์๋ค.
๐ TCP(Transmission Control Protocol)

TCP๋ ์ ์ก ๊ณ์ธต์ ํ๋กํ ์ฝ๋ก IP ํจํท์ ๋ณด์ํด์ฃผ๋ ์ญํ ์ ํ๋ค.
๋ฐ์ดํฐ("Hello, world!"๋ผ๋ ๋ฉ์ธ์ง)๊ฐ ํด๋ผ์ด์ธํธ์์ ์ธํฐ๋ท์ ํตํด ์ ์ก๋๋ ๊ณผ์ ์ ์ดํด๋ณด๋ฉด
- ํ๋ก๊ทธ๋จ์ด ๋ฉ์ธ์ง๋ฅผ ์์ฑํ๋ค.
- Socket ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์์ฑ๋ ๋ฉ์ธ์ง๋ฅผ OS ๊ณ์ธต์ ์ ๋ฌํ๋ค.
- ์ ์ก ๊ณ์ธต์์ TCP ์ ๋ณด๋ฅผ ์์ฑํด์ ๋ฉ์ธ์ง๋ฅผ ๊ฐ์ผ๋ค.
- ์ธํฐ๋ท ๊ณ์ธต์์ TCP ์ ๋ณด๋ฅผ ํฌํจํ๋ IP ํจํท์ ์์ฑํ๊ณ ์ค์ ๋ฌผ๋ฆฌ์ ์ฅ์น ์ ๋ณด(e.g. MAC ์ฃผ์)๋ฅผ ํฌํจํ Ethernetframe์ ์์ด ํ ์ ์กํ๋ค.
โ TCP/IP ํจํท ์ ๋ณด

TCP ์ ๋ณด์๋ PORT, ์ ์ก์ ์ด, ์์ ๋ฑ์ด ํฌํจ๋๊ธฐ ๋๋ฌธ์ IP ํจํท๋ง์ผ๋ก ๋ฐ์ํ๋ ํ๊ณ์ ๋ค์ ํด๊ฒฐํ ์ ์๋ค!
โ TCP ํน์ง

- ์ฐ๊ฒฐ ์งํฅ : 3 way handshake (๊ฐ์ ์ฐ๊ฒฐ)
- SYN : ์ ์ ์์ฒญ, ACK : ์์ฒญ ์๋ฝ
- ์ธ๋ฒ์ ๋ฉ์ธ์ง๊ฐ ์ ์ก๋๊ณ ๋๋ฉด ์ฐ๊ฒฐ์ด ๋์๋ค๊ณ ์๊ฐํ๊ณ (๋ ผ๋ฆฌ์ ์ฐ๊ฒฐ) ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค.
- ์ฐธ๊ณ ๋ก 3๋ฒ ACK์ ํจ๊ป ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ค.

- ๋ฐ์ดํฐ ์ ๋ฌ ๋ณด์ฆ
- ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ผ๋ฉด ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๋ค๋ ๋ฉ์ธ์ง๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์ ์กํ๋ค.
- ๋ง์ฝ ํด๋ผ์ด์ธํธ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๋ค๋ ๋ฉ์ธ์ง๋ฅผ ๋ฐ์ง ๋ชปํ๋ฉด ๋ฐ์ดํฐ ์ ๋ฌ์ด ์ด๋ฃจ์ด์ง์ง ์์๋ค๋ ๊ฒ์ ์ ์ ์๋ค.

- ์์ ๋ณด์ฅ
- ์๋ฒ๋ ํจํท์ ์์ ์ ๋ณด๋ฅผ ์ ๋ฌ ๋ฐ๋๋ค.
- ํจํท์ ์์๊ฐ ์๋ชป๋๋ฉด ์์๊ฐ ์๋ชป๋ ๋ถ๋ถ๋ถํฐ ์ฌ์ ์ก์ ์์ฒญํ๋ค.
๐ UDP(User Datagram Protocol)
UDP๋ ๋ณดํต ํ์ ๋ํ์ง์ ๋น์ ํ๋ค. TCP์ ๊ฐ์ด ์ ์ก ๊ณ์ธต์ ํ๋กํ ์ฝ์ด์ง๋ง ๊ทธ์ ๋ฌ๋ฆฌ ์ฐ๊ฒฐ ์งํฅ, ๋ฐ์ดํฐ ์ ๋ฌ ๋ณด์ฆ, ์์ ๋ณด์ฅ ๋ฑ์ ๊ธฐ๋ฅ์ด ์๋ค. ํ์ง๋ง ๋จ์ํ๊ณ ๋น ๋ฅด๋ค๋ ์ฅ์ ์ด ์๋ค. UDP๋ IP์ ๊ฑฐ์ ๊ฐ์ง๋ง PORT์ ์ฒดํฌ์ฌ ๊ธฐ๋ฅ ์ ๋๊ฐ ์ถ๊ฐ๋ ํ๋กํ ์ฝ์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ถ๊ฐ ์์ ์ ํ๋ฉด ๊ธฐ๋ฅ์ ํ์ฅํ ์ ์๋ค.
๐ PORT

ํ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ ์๋ฒ์ ํต์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ฆฐ๋ค๊ณ ์๊ฐํด๋ณด์. IP ํจํท์๋ ๋์ฐฉ์ง IP ์ฃผ์์ ํจ๊ป ์ถ๋ฐ์ง IP์ฃผ์๋ ๋ณด๋ด๊ธฐ ๋๋ฌธ์ ํด๋ผ์ด์ธํธ์ PC๊น์ง ๋์ฐฉํ๋๋ฐ๋ ๋ฌธ์ ๊ฐ ์์ง๋ง ์ ๋ฌ๋ ํจํท์ด ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์ ๋ฌ๋ ๊ฒ์ธ์ง๋ ๊ตฌ๋ถํ ์ ์๋ค.

PORT๋ ๊ทธ๋ฆผ์ฒ๋ผ ๊ฐ์ IP๋ด์์ ํ๋ก์ธ์ค๋ฅผ ๊ตฌ๋ถํ ์ ์๋ ์ฃผ์์ด๋ค. IP ์ฃผ์๋ฅผ ์ํํธ๋ผ๊ณ ํ๋ฉด PORT๋ ๋, ํธ์๋ผ๊ณ ๋ณผ ์ ์๋ค. PORT ์ ๋ณด๋ TCP๋ฅผ ํตํด IP ํจํท์ ์ถ๊ฐ๋์ด ์ ๋ฌ๋๋ค.
PORT ์ค 0~1023์ ์ ์๋ ค์ง ํฌํธ๋ก, ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข๊ณ ๋ณดํต 0~65535๋ฅผ ํ ๋นํด์ ์ฌ์ฉํ๋ค.
๐ DNS(Domain Name System)

IP ์ฃผ์๋ ๊ธฐ์ตํ๊ธฐ ์ด๋ ต๊ณ ๋ณ๊ฒฝ๋ ์ ์๋ค. DNS๋ ๋๋ฉ์ธ ๋ช ๊ณผ IP ์ฃผ์๋ฅผ ๋งคํ์์ผ์ฃผ๊ธฐ ๋๋ฌธ์ ์ฝ๊ฒ IP์ฃผ์์ ์ ๊ทผํ ์ ์๊ฒ ํด์ค๋ค.
๊ฐ์ ์๋ฃ
๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์ - ์ธํ๋ฐ | ๊ฐ์
์ค๋ฌด์ ๊ผญ ํ์ํ HTTP ํต์ฌ ๊ธฐ๋ฅ๊ณผ ์ฌ๋ฐ๋ฅธ HTTP API ์ค๊ณ ๋ฐฉ๋ฒ์ ํ์ตํฉ๋๋ค., - ๊ฐ์ ์๊ฐ | ์ธํ๋ฐ...
www.inflearn.com
'WEB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [HTTP] API URI ์ค๊ณ์ HTTP ๋ฉ์๋ (0) | 2022.03.13 |
|---|---|
| [HTTP] HTTP ๊ธฐ๋ณธ ๊ฐ๋ ๊ณผ ํน์ง (0) | 2022.03.13 |
| [HTTP] URI์ ์น ๋ธ๋ผ์ฐ์ ์์ฒญ ํ๋ฆ (0) | 2022.03.12 |
