ํ์ดํผ ํ
์คํธ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ๊ท์น(ํต์ ๊ท์ฝ)์ ๋งํฉ๋๋ค.
์ฌ๊ธฐ์ HyperText ๋ ์ฐ๊ฒฐ ๊ณ ๋ฆฌ๋ฅผ ํตํด ๋ค๋ฅธ ๋ฌธ์๋ก ์ ๊ทผํ ์ ์๋ ํ
์คํธ๋ฅผ ๋งํฉ๋๋ค.
HTML์ <a ํ๊ทธ>๋ฅผ ๋ ์ฌ๋ฆฌ๋ฉด ์ดํดํ๊ธฐ ์ข์ต๋๋ค. HTTP ๋ผ๋ ํต์ ๊ท์ฝ์ ๋ง๋ ๊ฒ์ ์ข์ง๋ง ์ ์ ํ์ดํผ ํ
์คํธ๋ฅผ ๋ณด๊ธฐ ์ข๊ฒ ํํํ ๋ฐฉ๋ฒ์ด ์์์ต๋๋ค. ๋๊ตฌ๋ ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ํ์ดํผ ํ
์คํธ๋ฅผ ํํํ ๋ฐฉ๋ฒ์ด ํ์ํ์ต๋๋ค.
์ด์ ํ ๋ฒ๋์ค๋ฆฌ๋ ์ธํฐ๋ท ๊ธฐ๋ฐ์ ํ์ดํผ ํ
์คํธ ์์ฑ์ ์ํ ๋ฐฉ๋ฒ๋ค์ ๋ง๋ค์๋๋ฐ, ๊ทธ๊ฒ์ด ๋ฐ๋ก ํ์ฌ์ HTML ์
๋๋ค.
์น ์๋น์ค์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์ ๋ณด๋ฅผ ์์ฒญ(request)ํ๊ณ ์๋ต(response) ๋ฐ๊ธฐ ์ํ ํ๋กํ ์ฝ์ ๋งํ๋ค.
์ด๊ธฐ์๋ ์๋ฒ๋ก๋ถํฐ ํ์ด์ง๋ฅผ ์์ฒญํ๋ GET์ด๋ผ๋ ์ด๋ฆ์ ํ๋์ ๋ฉ์๋๋ง ์์๋ค. ์๋ฒ๋ก๋ถํฐ์ ์๋ต์ ๋ฌด์กฐ๊ฑด HTML ๋ฌธ์์๋ค. ๊ทธ๋ฌ๋ ํ๋กํ ์ฝ ํ์ฅ์ ํ์์ฑ์ผ๋ก HTTP/1.0์์๋ ๋ฉ์๋์ ํค๋๊ฐ ์ถ๊ฐ๋๊ณ , ํ์ฌ๋ HTTP/1.1์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ค.
HTTP/2์์๋ ์ฑ๋ฅ์ด ๊ฐ์ ๋๊ณ , HTTP/3์ TCP ๋์ UDP๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ๋ฅ์ ๊ฐ์ ์ค์ด๋ค.
ํด๋ผ์ด์ธํธ์ ์์ฒญ์ด ์์ ๋๋ง ์๋ฒ์์ ์์ฒญ์ ๋ฐ๋ฅธ ์๋ต์ ๋ฐํํฉ๋๋ค.
ํด๋ผ์ด์ธํธ์์ ์๋ฒ์ ์์ฒญ์ ํ๋ ๋จ๋ฐฉํฅ ํต์ ์ผ๋ก, ์๋ฒ๊ฐ ๋จผ์ ์์ฒญ์ ํ ์ ์๊ณ ๋ฌด์กฐ๊ฑด ์์ฒญ์ ๋ฐ์์ผ ํฉ๋๋ค.
๋จ๋ฐฉํฅ ํต์ ์ ๋จ์ ์?
A(ํด๋ผ์ด์ธํธ)์ B(์๋ฒ)๊ฐ ์ฑํ ์ ํ๋๋ฐ, B๊ฐ Aํํ ๋จผ์ ํก์ ๋ณด๋ผ ์ ์์ต๋๋ค.
์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ/์ํ ์ ๋ณด๋ฅผ ๋ณด์กดํ์ง ์์ต๋๋ค.
์ฆ, ํด๋ผ์ด์ธํธ๊ฐ ์ด์ ์์ฒญ๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ํ๋ค๊ณ ํ๋๋ผ๋ ๋ค์ ์๋ฒ์ ๋์ผํ ์์ฒญ์ ํด์ผ ํฉ๋๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์ด์ ์ ์์ ์ด ์์ฒญํ ์ ๋ณด๋ฅผ ์ ์ฅํด๋๊ณ ํด๋น ์ ๋ณด๋ฅผ ๋ค์ ๋ณด๋ด์ฃผ๋ฏ๋ก, ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ด๋ค ์๋ฒ๊ฐ ์๋ตํด๋ ์๊ด์ด ์์ด์ ์๋ฒ ํ์ฅ์ฑ์ด ๋์ ์ฅ์ ์ด ์๋ ๋ฐ๋ฉด, ํด๋ผ์ด์ธํธ๊ฐ ๋ง์ ์์ ์ถ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์กํด์ผ ํ๋ ๋จ์ ์ด ์์ต๋๋ค. ํ์ง๋ง ๋ก๊ทธ์ธ ๊ฐ์ ์ํ ์ ๋ณด๋ ์๋ฒ์ ์ ์ง์์ผ์ผ ํ๋๋ฐ ์ด ๊ฒฝ์ฐ ๋ธ๋ผ์ฐ์ ์ฟ ํค๋ ์ธ์
๋ฑ์ ์ด์ฉํด ์ํ๋ฅผ ์ ์งํด์ผ ํฉ๋๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญ์ ํ๊ณ ์๋ต์ ๋ฐ์ผ๋ฉด ๋ฐ๋ก TCP/IP ์ฐ๊ฒฐ์ ๋์ด ์ฐ๊ฒฐ์ ์ ์งํ์ง ์๋ ๊ฒ์
๋๋ค.
์ด๋ฅผ ํตํด ์๋ฒ์ ์์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ , ์๋ง์ ํด๋ผ์ด์ธํธ์ ์์ฒญ์๋ ๋์ํ ์ ์๊ฒ ํฉ๋๋ค. HTTP๋ ์ฐ๊ฒฐ์ ์ ์งํ์ง ์๋ ๋ชจ๋ธ์ ๊ธฐ๋ณธ์ผ๋ก ํฉ๋๋ค.
์ ์ฒ๋ช
์ด ์๋น์ค๋ฅผ ์ฌ์ฉํด๋ ์ค์ ์๋ฒ์์ 0.000001์ด๊น์ง ๋์ผํ ์๊ฐ์ ๋์์ ์์ฒญ์ ํ์ง๋ ์์ต๋๋ค.
HTTP๋ฉ์ธ์ง๋ HTTP ์์ฒญ๋ฉ์ธ์ง์ HTTP ์๋ต๋ฉ์ธ์ง๋ก ๊ตฌ๋ถ๋๋ค.
HTTP๋ฉ์ธ์ง์ ๋ชจ๋ ๊ฒ์ ์ ์กํ ์ ์๋ค. HTML, TEXT, ์์ฑ, ์์, ํ์ผ, JSON, XML ๋ฑ๋ฑ
Socket ํต์ ์ ์ ํ์ํ ๊น์?
HTTP๋ ๋จ๋ฐฉํฅ ํต์ ์ด๊ธฐ ๋๋ฌธ์ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ๋จผ์ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค.
์ค์๊ฐ ์ฑํ ๊ธฐ๋ฅ๊ณผ ๊ฐ์ด ์ง์ฐ์ด ์งง์์ผ ํ๋ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ์์ฃผ ํต์ ํด์ผ ํ ๋ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ ์์ฒญ์ ๋ณด๋ผ ์ ์๋ ์๋ฐฉํฅ ํต์ ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์๋๋ ์ํค๋ฐฑ๊ณผ์ ์ ์์ ๋๋ค.
์์ผ(Socket)์ด๋ ๋คํธ์ํฌ ์์์ ๋์ํ๋ ํ๋ก๊ทธ๋จ ๊ฐ ํต์ ์ ์ข ์ฐฉ์ (Endpoint), ์ ์์ ๋ ๋ถ๋ถ์ด๋ผ ํฉ๋๋ค.
์ข ์ฐฉ์ ์ธ Endpoint๋ IP ์ฃผ์์ Port ๋ฒํธ์ ์กฐํฉ์ผ๋ก ์ด๋ฃจ์ด์ง ์ต์ข ๋ชฉ์ ์ง(PC, ํธ๋ํฐ ๋ฑ์ ์ ์ ์ฐ๊ฒฐ๋ถ)๋ฅผ ๋ํ๋ ๋๋ค.
ํด๋ผ์ด์ธํธ(ํ๋ก๊ทธ๋จ 1)์ ์๋ฒ(ํ๋ก๊ทธ๋จ 2) ์์ชฝ์์ ์๋ก์๊ฒ ๋ฐ์ดํฐ ์ ๋ฌ์ ํ๋ ๋ฐฉ์์ ์๋ฐฉํฅ ํต์ ์ผ๋ก, ์์ผ์์ ์๋ฒ๋ ์์ฒญ์ ๊ธฐ๋ค๋ฆด ํ์๊ฐ ์์ต๋๋ค. ๋ชจ๋ ์ฐ๊ฒฐ์ 2๊ฐ์ Endpoint๋ก ์ ์ผํ๊ฒ ์๋ณ๋ ์ ์์ต๋๋ค.
์กฐ๊ธ ๋ ์ฝ๊ฒ ์๊ธฐํ์๋ฉด,
์์ผ์ ์ฌ์ ์ ์ผ๋ก '์ ๊ตฌ ๋ฐ์๋ฅผ ๋ผ์ ๋ฃ์ด ์ ์ํ๊ฒ ํ๋ ๊ธฐ๊ตฌ, ์ฐ๊ฒฐ๋ถ'๋ฅผ ์ผ์ปซ๋๋ฐ ์ฝ์ผํธ ๊ตฌ๋ฉ์ ๋ ์ฌ๋ฆฌ๋ฉด ์ฝ์ต๋๋ค.
์ฆ, ๋คํธ์ํฌ ์์์์ ์์ผ์ ๋ฉ๋ฆฌ ๋จ์ด์ง ํ๋ก๊ทธ๋จ๋ผ๋ฆฌ ์ฐ๊ฒฐ๋ ์ ์๊ฒ ๋ง๋ค์ด์ง ์ฐ๊ฒฐ๋ถ์ธ ๊ฒ์
๋๋ค.
์๋ฅผ ๋ค์ด, ํด๋ํฐ(ํ๋ก๊ทธ๋จ A)์ ์ถฉ์ ํ๊ธฐ ์ํด ํด๋ํฐ ์ฐ๊ฒฐ๋ถ ์์ผ๊ณผ ๋ณด์กฐ๋ฐฐํฐ๋ฆฌ(ํ๋ก๊ทธ๋จ B)์ ์ถฉ์ ์ ์ ๊ฝ๋ ์ฐ๊ฒฐ๋ถ ์์ผ์ด ์์ด์ผ ํฉ๋๋ค. ๋ํ ์ ๊ธฐ ์ถฉ์ ์ด ์ ๋๋ก ์๋๋๋ ค๋ฉด 220v๋ผ๋ ํ์ค ๊ท๊ฒฉ์ ๋ง๊ฒ ๋ง๋ค์ด์ ธ์ผ ํ๋ ๊ฒ์ฒ๋ผ, ์์ผ ํต์ ๋ TCP, UDP ๊ท์ฝ์ ๋ง๋ ์์ผ์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ์์ผ์ ๊ฝ์ ์ด๋ค๋ ๊ฐ๋ ์ผ๋ก ํ๋ก๊ทธ๋จ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ ์ ์์ต๋๋ค.
๋ณดํต ์คํธ๋ฆฌ๋ฐ์ด๋ ์ค์๊ฐ ์ฑํ ๋ฑ ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์์ผ ํ๋ ๊ฒฝ์ฐ Connection์ ์์ฃผ ๋งบ๊ณ ๋๋ HTTP ํต์ ๋ณด๋ค ์์ผ ํต์ ์ด ์ ํฉํฉ๋๋ค. ํ์ง๋ง, ์์ผ ํต์ ์ ๊ณ์ํด์ Connection์ ๋ค๊ณ ์๊ธฐ ๋๋ฌธ์ HTTP ํต์ ์ ๋นํด ๋ง์ ๋ฆฌ์์ค๊ฐ ์๋ชจ๋ฉ๋๋ค.