
์์ฆ์๋ ๋ชจ๋ ๊ฒ๋ค์ด HTTP์์์ ๋์ํ๋ค.
HTML, ์ด๋ฏธ์ง, ํ์ผ, ์์๋ฟ๋ง ์๋๋ผ ์ฑ๊ณผ ์๋ฒ๊ฐ ํต์ ์ ํ ๋, ์๋ฒ์ ์๋ฒ๊ฐ ํต์ ํ ๋๋ HTTP ํ๋กํ ์ฝ ์์์ ํต์ ์ ์ฃผ๊ณ ๋ฐ๋๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์, ํ๋ก ํธ์๋ ๊ฐ๋ฐ์, ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ HTTP๋ฅผ ํ์๋ก ์๊ณ ์ฌ์ฉํ ์ค ์์์ผ ํ๋ค.
ํนํ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ ์คํ๋ง ์น MVC, JSP, PHP ๋ฑ ์น ๊ธฐ์ ๋ค์ด๋ ์น ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋๋ฐ ์ด๋ฌํ ๊ธฐ์ ๋ค์
HTTP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ์ด ๋์ด์๋ค.
๊ทธ๋์ HTTP๋ฅผ ์ ๋๋ก ์ดํดํ์ง ๋ชปํ ์ํ์์ ์ฒ์ ์น ๊ธฐ์ ๋ค์ ๊ณต๋ถ๋ฅผ ํ๋ฉด ๊น์ด ์๊ฒ ์๋ฆฌ๋ฅผ ์ดํดํ๊ธฐ ์ฝ์ง ์๋ค.
ํด๋น ๊ธฐ์ ๋ค์ ์ด๋ฏธ HTTP๋ฅผ ์ดํดํ๊ณ ์๋ค ์๊ฐ์ ํ๊ณ ์ค๋ช ์ ํ๊ธฐ ๋๋ฌธ์ ์ดํดํ๊ธฐ ์ด๋ ค์ด ๊ฒ์ด๋ค.
์ธํฐ๋ท ํต์
๋ด๊ฐ ๋ฏธ๊ตญ์ ์๋ ์น๊ตฌ์๊ฒ Hello, world!๋ผ๋ ๋ฉ์์ง๋ฅผ ๋ณด๋ด์ผ ํ๋ค.
๊ทธ๋ผ Hello, world!๋ผ๋ ๋ฉ์์ง๋ ์์ฒญ ๋ณต์กํ ์ธํฐ๋ท ๋ง์ ํตํด์ ๋ฏธ๊ตญ์ ์๋ ์น๊ตฌ์๊ฒ ๋ฉ์์ง๋ฅผ ์ ์กํ๊ฒ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด, ์ธํฐ๋ท ๋ง์์ ์ด๋ ํ ๊ท์น๊ณผ ์ด๋ ํ ๋ฐฉ๋ฒ์ผ๋ก ํต์ ์ ํ๊ฒ ๋๋ ๊ฑธ๊น?
๊ทธ๊ฑธ ์ดํดํ๊ธฐ ์ํด์๋ ์ฒซ ๋ฒ์งธ๋ก IP(์ธํฐ๋ท ํ๋กํ ์ฝ)์ ์ดํดํด์ผ ํ๋ค.
IP(์ธํฐ๋ท ํ๋กํ ์ฝ)
์ธํฐ๋ท ํต์ ์ ํ๊ธฐ ์ํด์๋ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ์ฌ๋๊ณผ ๋ฉ์์ง๋ฅผ ๋ฐ๋ ์ฌ๋์ IP๊ฐ ํ์ํ๋ค.
IP ์ธํฐ๋ท ํ๋กํ ์ฝ ์ญํ
→ ์ง์ ํ IP ์ฃผ์(IP Address)์ ๋ฐ์ดํฐ ์ ๋ฌ
→ ํจํท(Packet)์ด๋ผ๋ ํต์ ๋จ์๋ก ๋ฐ์ดํฐ ์ ๋ฌ
๊ทธ๋ฅ ์ ๋ฌํ๋ ๊ฒ์ด ์๋, IP ํจํท์ ํํ๋ก ์๋ฒ์๊ฒ ๋์ง๊ฒ ๋๋ค.
๊ทธ๋ผ ์ธํฐ๋ท ๋ง์ ์๋ ๋ ธ๋๋ค์ ๋ชฉ์ ์ง์ธ IP์ฃผ์๋ฅผ ์ฐพ์์ ๋ ธ๋๋ผ๋ฆฌ ๊ณ์ ๋์ง๊ฒ ๋๋ค.
๊ทธ๋ฌ๋ค ๋ชฉ์ ์ง IP์ฃผ์์ ๋๋ฌ์ ํ๊ฒ ๋๋ฉด ๋ฉ์์ง๋ฅผ ๋ฐ๊ฒ ๋๋ ์๋ฆฌ์ด๋ค.
๊ทธ๋ ๊ฒ ์ถ๋ฐ IP์ ๋ชฉ์ IP๊ฐ ์๊ณ ์ ๋ฌํ ๋ด์ฉ์ ์๋ฒ์ ๋์ง๊ฒ ๋๋ฉด, ๋ ธ๋๋ค์ ๊ฑฐ์ณ์ ๋ด์ฉ์ ๋ฐ๊ฒ ๋๋ ๊ฒ์ด๋ค.
ํ์ง๋ง, ์ด๋ฌํ IP ํ๋กํ ์ฝ์๋ ํ๊ณ๊ฐ ์กด์ฌํ๋ค.
IP ํ๋กํ ์ฝ์ ํ๊ณ
๋น์ฐ๊ฒฐ์ฑ
→ ํจํท์ ๋ฐ์ ๋์์ด ์๊ฑฐ๋ ์๋น์ค ๋ถ๋ฅ ์ํ์ฌ๋ ํจํท ์ ์ก
๋น์ ๋ขฐ์ฑ
→ ์ค๊ฐ์ ํจํท์ด ์ฌ๋ผ์ง๋ ๊ฒฝ์ฐ
→ ํจํท์ด ์์๋๋ก ์ ์ฌ ๊ฒฝ์ฐ
ํ๋ก๊ทธ๋จ ๊ตฌ๋ถ
→ ๊ฐ์ IP๋ฅผ ์ฌ์ฉํ๋ ์๋ฒ์์ ํต์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ ์ด์์ผ ๊ฒฝ์ฐ
๋น์ฐ๊ฒฐ์ฑ์ ๋์ ์๋ฒ๊ฐ ํจํท์ ๋ฐ์ ์ ์๋ ์ํ์ธ์ง ๋ชฐ๋ผ๋ ํจํท์ ์ ์กํ๋ ๊ฒฝ์ฐ์ด๋ค.
๋น์ ๋ขฐ์ฑ์ ์ค๊ฐ์ ํจํท์ด ์ฌ๋ผ์ง๋ ๊ฒฝ์ฐ๋ ๋ชฉ์ IP์๊ฒ ํจํท์ด ๋๋ฌํ๊ธฐ ์ํด์๋ ๋ ธ๋๋ค์ ๊ฑฐ์ณ์ผ ํ๋ค.
๊ทผ๋ฐ ๊ทธ ๋ ธ๋๋ค ์ค ํ๋๊ฐ ๊ฐ์๊ธฐ ์ข ๋ฃ๊ฐ ๋์ด๋ฒ๋ฆฌ๊ฑฐ๋ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ํจํท๋ ํจ๊ป ์์ค๋๋ค.
๋ํ ํจํท์ด ์์๋๋ก ์ค์ง ์๋ ๊ฒฝ์ฐ์๋ Hello๋ผ๋ ๋ฉ์์ง์ world!๋ผ๋ ๋ฉ์์ง๋ฅผ ๋ฐ๋ก ์ ์ก์ ํ ๋,
helloํจํท๊ณผ world! ํจํท์ด ๋ค๋ฅธ ๋ ธ๋๋ฅผ ํ๋ ๊ฒฝ์ฐ์ด๋ค.
helloํจํท์ ๋์์ ๋ ธ๋๋ฅผ ํ์ง๋ง world! ํจํท์ ๋ ๋น ๋ฅธ ๋ ธ๋๋ฅผ ํ์
๋ ๋นจ๋ฆฌ ๋ชฉ์ IP์ ๋์ฐฉํ ๊ฒฝ์ฐ, ์๋๋ฐฉ์ world! hello๋ฅผ ๋ฐ๊ฒ ๋๋ ๊ฒ์ด๋ค.
IP ํ๋กํ ์ฝ ๋ง์ผ๋ก๋ ์ด๋ฌํ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ ์ ์๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ค์ ํด๊ฒฐํด์ฃผ๋ ๊ฒ์ด TCP์ด๋ค.
TCP

์์์ ์ธ๊ธํ IPํ๋กํ ์ฝ์ ๋ฌธ์ ์ ๋ค์ TCP๊ฐ ํด๊ฒฐ์ ํด์ค๋ค.
UDP๋ ํด๊ฒฐ์ ํด์ฃผ์ง ์์ง๋ง, ๋์์ด ๋๋ ๋ถ๋ถ์ด ์๋ค.

์ด๋ ๊ฒ ์ ์กํ ๋ฐ์ดํฐ์ TCP ์ธ๊ทธ๋จผํธ๋ก ๋ค์ํ ์ ๋ณด๋ฅผ ๋ด๊ณ ๊ทธ ์์ IP ํจํท์ผ๋ก IP ์ ๋ณด๋ฅผ ๋ด์์ ์ ์ก์ ํ๋ค.
์ด๋ ๊ฒ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ๋ด๊ธฐ ๋๋ฌธ์ ์์์ ์ผ์ด๋๋ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ ์ ์๋ค.
TCP ํน์ง
์ ์ก ์ ์ด ํ๋กํ ์ฝ(Transmission Control Protocol)
→ ์ฐ๊ฒฐ ์งํฅ - TCP 3 way handhake (๊ฐ์ ์ฐ๊ฒฐ)
→ ๋ฐ์ดํฐ ์ ๋ฌ ๋ณด์ฆ
→ ์์ ๋ณด์ฅ
→ ์ ๋ขฐํ ์ ์๋ ํ๋กํ ์ฝ
→ ํ์ฌ๋ ๋๋ถ๋ถ TCP ์ฌ์ฉ
TCPํน์ง์ 3๊ฐ์ง๋ ์ฐ๊ฒฐ ์งํฅ, ๋ฐ์ดํฐ ์ ๋ฌ ๋ณด์ฆ, ์์ ๋ณด์ฅ์ด ์๋ค.
์ฐ๊ฒฐ ์งํฅ์ ์๋๋ฐฉ์ด๋ ์ฌ์ฉ์๊ฐ ์ฐ๊ฒฐ์ด ๋๋์ง ๋จผ์ ํ์ธ์ ํ๊ณ ์ ์ก์ ํ๋ค.
TCP 3 way handshake์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ SYN(์ ์ ์์ฒญ)์ ๋ณด๋ธ๋ค. ๊ทธ๋ผ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ SYN+ACK(์์ฒญ ์๋ฝ)์ ๋ณด๋ธ๋ค.
๊ทธ๋ผ ํด๋ผ์ด์ธํธ๋ ๋ค์ ์๋ฒ ์๊ฒ ACK๋ฅผ ๋ณด๋ธ๋ค.
์ด๋ ๊ฒ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์๋ก์๊ฒ ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ฝ์ ํ๋ฉด ๋ฐ์ดํฐ ์ ์ก์ด ๊ฐ๋ฅํด์ง๋ ์๋ฆฌ์ด๋ค.
์์ฆ์๋ ์ต์ ํ๊ฐ ๋์ด์ ํด๋ผ์ด์ธํธ์์ ACK๋ฅผ ๋ณด๋ผ ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ด ์ ์ก์ ํ๊ธฐ๋ ํ๋ค.
๋ฐ์ดํฐ ์ ๋ฌ ๋ณด์ฆ์ ์ฌ์ฉ์๊ฐ ์๋๋ฐฉ์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋๋๋ฐ ๋๋ฝ์ด ๋๋ค๋ฉด ์ฌ์ฉ์๋ ๋๋ฝ์ด ๋๋ค๋ ๊ฑธ ํ์ธํ ์ ์๋ค.
์์ ์ ๋ณด ๊ฐ์ ๊ฒฝ์ฐ๋ ํจํท1,ํจํท2,ํจํท3์ ์๋ฒ์ ์ ์กํ๋๋ฐ ์๋ฒ์์ ํจํท1,ํจํท3,ํจํท2 ์ด๋ ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๋ค๋ฉด,
์๋ฒ์์๋ ํด๋ผ์ด์ธํธ์๊ฒ ํจํท2๋ถํฐ ๋ค์ ์ฌ์ ์กํ๋ผ๊ณ ํ๋ค.
์ด๋ฌํ ๊ธฐ๋ฅ์ด ๊ฐ๋ฅํ ์ด์ ๋ TCP์๋ ๋ค์ํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ผ๋ฉฐ ๊ทธ์ค ์์ ์ ๋ณด๋ ๋ด๊ฒจ์๊ธฐ ๋๋ฌธ์ด๋ค.
UDP ํน์ง
์ฌ์ฉ์ ๋ฐ์ดํฐ๊ทธ๋จ ํ๋กํ ์ฝ(User Datagram Protocol)
→ ํ์ ๋ํ์ง์ ๋น์ (๊ธฐ๋ฅ์ด ๊ฑฐ์ ์์)
→ ์ฐ๊ฒฐ ์งํฅ - TCP 3 way handshake X
→ ๋ฐ์ดํฐ ์ ๋ฌ ๋ณด์ฆ X
→ ์์ ๋ณด์ฅ X
→ ๋ฐ์ดํฐ ์ ๋ฌ ๋ฐ ์์๊ฐ ๋ณด์ฅ๋์ง ์์ง๋ง, ๋จ์ํ๊ณ ๋น ๋ฅด๋ค.
→ ์ ๋ฆฌ
→ IP์ ๊ฑฐ์ ๊ฐ๋ค. +PORT +์ฒดํฌ์ฌ ์ ๋๋ง ์ถ๊ฐ
→ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ถ๊ฐ ์์ ์ด ํ์ํ๋ค.
PORT
IP๋ ๋ชฉ์ ์ง ์๋ฒ๋ฅผ ์ฐพ๋ ๊ฑฐ๋ผ๋ฉด PORT๋ ๋ชฉ์ ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฐพ๋๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด, ๋ด๊ฐ ์ง๊ธ ์น๊ตฌ๋ ๊ฒ์๋ ํ๊ณ ํ์ํตํ๋ฅผ ํ๋๋ฐ ์น ๋ธ๋ผ์ฐ์ ์์ ์์ฒญ์ด ์จ๋ค๋ฉด
IP ํ๋กํ ์ฝ์ ์๋ฒ์ ํด๋ผ์ด์ธํธ๋ง์ ์ฐ๊ฒฐํ๊ธฐ ๋๋ฌธ์ ๋ค์ํ ํจํท์ด ์ถฉ๋์ด ์ผ์ด๋๋ค.
ํ์ง๋ง TCP์๋ PORT์ ๋ณด๊ฐ ๋ด๊ฒจ์๊ธฐ ๋๋ฌธ์, ๊ฒ์์ 8090ํฌํธ, ํ์ํตํ๋ 21000ํฌํธ, ์น ๋ธ๋ผ์ฐ์ ๋ 10010ํฌํธ
์ด๋ฐ ์์ผ๋ก ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค ๊ณ ์ ํ ํฌํธ๋ฒํธ๊ฐ ์์ด์ ๊ฐ๊ฐ ์๋ต์ ํ ์ ์๋ค.
์ด๋ ๊ฒ ๋ด๊ฐ ์ด๊ณ ์๋ ์ํํธ๊ฐ IP๋ผ๋ฉด, ๋๊ณผ ํธ์๋ PORT๋ผ๊ณ ๋ณผ ์ ์๋ค.
· 0 ~ 65535 ํ ๋น ๊ฐ๋ฅ
· 0 ~ 1023 ์ ์๋ ค์ง ํฌํธ, ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข๋ค.
· FTP - 20, 21
· TELNET - 23
· HTTP - 80
· HTTPS - 443
DNS
์๋ฒ๋ ํต์ ์ค ์๋ฒ์ IP๊ฐ ๋ณ๊ฒฝ์ด ๋๋ค๋ฉด ๋ฌธ์ ๊ฐ ์๊ธธ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ IP๊ฐ ๋ณ๊ฒฝ๋๋ ์์ธ์ ๋ค์ํ ๊ฒ์ด ์๊ธฐ ๋๋ฌธ์ DNS(Domain Name System)์ด ์กด์ฌํ๋ค.
DNS๋ ์ผ์ข ์ ์ ํ๋ฒํธ๋ถ ์๋ฒ๋ผ๊ณ ์๊ฐํ ์ ์๋ค.
์ฐ๋ฆฌ๊ฐ google.com์ ์ ๋ ฅํ๋ฉด goolgeํ์ด์ง๋ก ๋ค์ด๊ฐ๋ ๊ฒ๋ DNS ๋๋ฌธ์ด๋ค.
๊ฐ IP๋ง๋ค ๋๋ฉ์ธ์ ๊ตฌ์ ํด์ DNS์ ์ฌ๋ฆฌ๋ฉด ๋๋ฉ์ธ ๋ช ๋ง ์ ๋ ฅ์ ํด๋ ๊ทธ ๋๋ฉ์ธ์ ํด๋นํ๋ IP๋ก ์ ์์ด ๊ฐ๋ฅํ๋ค.
์ด๋ ๊ฒ DNS๋ฅผ ์ฌ์ฉํ๋ฉด IP์ ๊ธฐ์ตํ๊ธฐ ์ด๋ ค์๊ณผ, IP๊ฐ ๋ณ๊ฒฝ๋๋ ๋ฌธ์ ์ ์ ํด๊ฒฐํ ์ ์๋ค.
URI(Uniform Resource Identifier)

URI ๋จ์ด ๋ป
Uniform : ๋ฆฌ์์ค ์๋ณํ๋ ํต์ผ๋ ๋ฐฉ์
Resource : ์์, URI๋ก ์๋ณํ ์ ์๋ ๋ชจ๋ ๊ฒ(์ ํ ์์)
Identifier : ๋ค๋ฅธ ํญ๋ชฉ๊ณผ ๊ตฌ๋ถํ๋๋ฐ ํ์ํ ์ ๋ณด
URL : Uniform Resource Locator
URN : Uniform Resource Name
URL,URN ๋จ์ด ๋ป
URL - Locator : ๋ฆฌ์์ค๊ฐ ์๋ ์์น๋ฅผ ์ง์
URN - Name : ๋ฆฌ์์ค์ ์ด๋ฆ์ ๋ถ์ฌ
์์น๋ ๋ณํ ์ ์์ง๋ง, ์ด๋ฆ์ ๋ณํ์ง ์๋๋ค.
URN์ ์ด๋ฆ๋ง์ผ๋ก ์ค์ ๋ฆฌ์์ค๋ฅผ ์ฐพ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ๋ณดํธํ๋์ง ์์๋ค. ( ๊ฑฐ์ ์ฌ์ฉํ์ง ์๋๋ค. )
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋๋ถ๋ถ์ URI๋ URL๊ณผ ๊ฑฐ์ ๊ฐ์ ์๋ฏธ๋ก ํด์์ด ๋ ์ ์๋ค. ( URI๋ URL๊ณผ URN์ ํฌํจํ๊ธฐ ๋๋ฌธ)
URL ์ ์ฒด ๋ฌธ๋ฒ
· scheme://[userinfo@]host[:port][/path][?query][#fragment]
· https://www.google.com:443/search?q=hello&hI=ko
ํํ ์ฝ์ฝ(https)
ํธ์คํธ๋ช (www.google.com)
ํฌํธ ๋ฒํธ(443)
ํจ์ค(/search)
์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ(q=hello&hI=ko)
URL scheme
→ ์ฃผ๋ก ํ๋กํ ์ฝ ์ฌ์ฉ
→ ํ๋กํ ์ฝ : ์ด๋ค ๋ฐฉ์์ผ๋ก ์์์ ์ ๊ทผํ ๊ฒ์ธ๊ฐ ํ๋ ์ฝ์ ๊ท์น
์) http, https, ftp ๋ฑ...
→ http๋ 80 ํฌํธ, https๋ 443 ํฌํธ๋ฅผ ์ฃผ๋ก ์ฌ์ฉ, ํฌํธ๋ ์๋ต ๊ฐ๋ฅ
→ https๋ http์ ๋ณด์์ด ์ถ๊ฐ๋ ๊ฒ (HTTP Secure)
URL userinfo
→ URL์ ์ฌ์ฉ์์ ๋ณด๋ฅผ ํฌํจํด์ ์ธ์ฆ
→ ๊ฑฐ์ ์ฌ์ฉํ์ง ์๋๋ค.
URL host
→ ํธ์คํธ๋ช
→ ๋๋ฉ์ธ๋ช ๋๋ IP ์ฃผ์๋ฅผ ์ง์ ์ฌ์ฉ ๊ฐ๋ฅ
URL PORT
→ ํฌํธ(PORT)
→ ์ ์ ํฌํธ
→ ์ผ๋ฐ์ ์ผ๋ก ์๋ต, ์๋ต์ http๋ 80, https๋ 443
URL path
→ ๋ฆฌ์์ค ๊ฒฝ๋ก(path), ๊ณ์ธต์ ๊ตฌ์กฐ
URL query
→ key=value ํํ
→ ?๋ก ์์, &๋ก ์ถ๊ฐ ๊ฐ๋ฅ ?keyA=valueA&keyB=valueB
→ query parameter,query string ๋ฑ์ผ๋ก ๋ถ๋ฆผ, ์น์๋ฒ์ ์ ๊ณตํ๋ ํ๋ผ๋ฏธํฐ, ๋ฌธ์ ํํ
URL fragment
→ fragment
→ html ๋ด๋ถ ๋ถ๋งํฌ ๋ฑ์ ์ฌ์ฉ
→ ์๋ฒ์ ์ ์กํ๋ ์ ๋ณด ์๋
์น ๋ธ๋ผ์ฐ์ ์์ฒญ ํ๋ฆ
์น ๋ธ๋ผ์ฐ์ ์์ https://www.google.com/search?q=hello&hl=ko ํ์ด์ง๋ก ์ ์์ ํ ๋, ์์ฒญ ํ๋ฆ์ ๋ค์๊ณผ ๊ฐ๋ค.
๋จผ์ ์น ๋ธ๋ผ์ฐ์ ์์ www.google.com์ DNS๋ฅผ ์กฐํํ๊ฒ ๋๋ค.
๊ทธ๋ฆฌ๊ณ HTTP ์์ฒญ ๋ฉ์์ง๋ฅผ ์์ฑํ๊ฒ ๋๋ค.
HTTP์ ์์ฒญ ๋ฉ์์ง๋ ๊ฐ๋ตํ๊ฒ ๋ค์๊ณผ ๊ฐ๋ค.
GET/search?q=hello&hl=ko HTTP/1.1
Host:www.google.com
์ด๋ ๊ฒ path๋ถํฐ query์ ๋ณด์ host์ ๋ณด๊ฐ ๋ค์ด๊ฐ๋ค.
๊ทธ๋ ๊ฒ ์น ๋ธ๋ผ์ฐ์ ๊ฐ HTTP ๋ฉ์์ง๋ฅผ ์์ฑํ๊ณ ,
SOCKET ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด์ ์ ๋ฌ์ ํ๊ฒ ๋๋ค.
๊ทธ๋ผ OS์์ TCP/IP ํจํท์ผ๋ก HTTP ์ ๋ณด๋ฅผ ๋ด์์ ์ธํฐ๋ท์ ํตํด ๊ตฌ๊ธ ์๋ฒ๋ก ์ ์กํ๊ฒ ๋๋ค.
๊ทธ๋ผ ๊ตฌ๊ธ ์๋ฒ์์๋ HTTP์ ๋ณด๋ฅผ ํ์ธ ํ, q=hello&hl=ko์ ๋ณด์ ๋ง๊ฒ htmlํ์ผ์ TCP/IPํจํท์ ๋ด์์ ๋ณด๋ด๊ฒ ๋๋ค.
ํด๋น HTTP ์๋ต ๋ฉ์์ง๋ ๊ฐ๋ตํ๊ฒ ๋ค์๊ณผ ๊ฐ๋ค.
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length:3423
<html>
<body>...<body>
</html>
๊ทธ๋ผ ์น ๋ธ๋ผ์ฐ์ ์์ ์ ์ก๋ฐ์ ํจํท์ ์ด์ด์ htmlํ์ผ์ ๋๋๋ง์ ํ๊ฒ๋๊ณ ์ฌ์ฉ์๋ htmlํ์ผ์ ๋ณด๊ฒ๋๋ค.
์ถ์ฒ: [์ธํ๋ฐ]๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์
'๐ Web > HTTP ์น ๊ธฐ๋ณธ ์ง์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [HTTP]HTTP ํค๋2 - ์บ์์ ์กฐ๊ฑด๋ถ ์์ฒญ (0) | 2022.10.21 |
|---|---|
| [HTTP]HTTP ํค๋1 - ์ผ๋ฐ ํค๋ (0) | 2022.10.21 |
| [HTTP]HTTP ์ํ์ฝ๋ (0) | 2022.10.20 |
| [HTTP]HTTP ๋ฉ์๋ (0) | 2022.10.20 |
| [HTTP]HTTP ๊ธฐ๋ณธ (0) | 2022.10.19 |