Table of Contents
๊ฐ๋ฐฉํ ์์คํ ์ํธ ์ฐ๊ฒฐ์ ์ํ ๊ธฐ์ด ์ฐธ์กฐ ๋ชจ๋ธ(Open Systems Interconnection Reference Model)
OSI 7 ๊ณ์ธต์ด๋, ๊ตญ์ ํ์คํ๊ธฐ๊ตฌ(ISO)์์ ๊ฐ๋ฐํ ๋ชจ๋ธ๋ก, ์ปดํจํฐ ๋คํธ์ํฌ ํ๋กํ ์ฝ ๋์์ธ๊ณผ ํต์ ์ ๊ณ์ธต์ผ๋ก ๋๋์ด ์ค๋ช ํ ๊ฒ์ด๋ค.
์ฝ๊ฒ ๋งํ๋ฉด ๋คํธ์ํฌ์์ ํต์ ์ด ์ผ์ด๋๋ ๊ณผ์ ์ 7๋จ๊ณ๋ก ๋๋ ๊ฒ์ ๋งํ๋ค. ๊ณ์ธต ๋ชจ๋ธ์ ์ํด ํ๋กํ ์ฝ๋ ๊ณ์ธต๋ณ๋ก ๊ตฌ์ฑ๋๋ค. ํ์ฌ ๋คํธ์ํฌ ์์คํ ์ ๊ธฐ๋ฐ์ด ๋ ๋ชจ๋ธ์ด๋ฉฐ ๋ค์ํ ์์คํ ์ ์ด ๊ณ์ธต ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ํต์ ํ๋ค. (ํ์ฌ์ ์ธํฐ๋ท์ ๊ฐ ๊ณ์ธต์ ์ญํ ๋ค์ด ํฉ์ณ์ง๋ฉด์ TCP/IP 4 ๊ณ์ธต ๋ชจ๋ธ(๋งํฌ ๊ณ์ธต, ์ธํฐ๋ท ๊ณ์ธต, ์ ์ก ๊ณ์ธต, ์์ฉ ๊ณ์ธต)์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค.)
ํ์ฌ์ ์ธํฐ๋ท ๊ณ์ธต ๋ชจ๋ธ ์ฐธ์กฐ : RFC1122 ๊ณต์ ๋ฌธ์ - Internet Protocol Suite
OSI 7 ๊ณ์ธต์ ๋๋ ์ด์ ๋ ํต์ ์ด ์ผ์ด๋๋ ๊ณผ์ ์ ๋จ๊ณ๋ณ๋ก ์ ์ ์๊ณ , 7๋จ๊ณ ์ค ํน์ ํ ๊ณณ์ ์ด์์ด ์๊ธฐ๋ฉด ๋ค๋ฅธ ๋จ๊ณ์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ทธ ๋จ๊ณ๋ง ์์ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
OSI 7 ๊ณ์ธต์ ๋ฌผ๋ฆฌ ๊ณ์ธต, ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต, ๋คํธ์ํฌ ๊ณ์ธต, ์ ์ก ๊ณ์ธต, ์ธ์ ๊ณ์ธต, ํํ ๊ณ์ธต, ์์ฉ ๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
์์์ ํ๋กํ ์ฝ์ด ๊ณ์ธต๋ณ๋ก ๊ตฌ์ฑ๋๋ค๊ณ ์ธ๊ธํ์๋ค. ์ด ํ๋กํ ์ฝ์ด๋ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์์์ด๋ ๊ท์น์ ์๋ฏธํ๋ ํต์ ๊ท์ฝ์ด๋ค.
์์คํ ๊ฐ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํด์๋ ํ์ชฝ์์ ๋ณด๋ธ ๋ฉ์์ง๋ฅผ ๋ฐ๋์ชฝ์์ ์ดํดํ ์ ์์ด์ผ ํ๋ค. ํ์ชฝ์์ '์๋ ' ์ด๋ผ๋ ๋ฉ์์ง๋ฅผ ๋ณด๋์ ๋ ์ธ์ฌ๋ก ์์๋ฃ๊ณ ๋๋ต์ผ๋ก '์๋ ' ์ด๋ผ๋ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์์ด์ผ ํ๋ค๋ ๋ป์ด๋ค. ํต์ ๋ชจ๋ธ์์๋ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ํต์ ํ ๋ ๊ทธ ์ธ์ด์ ๋ํ ๋ฐฉ๋ฒ์ ๋ํ ๊ท์น์ด ์์ด์ผ ์์ฌ์ํต์ ํ ์ ์์ ๊ฒ์ด๋ค. ์ด ๊ท์น์ ์ ์ํ ๊ฒ์ด ํ๋กํ ์ฝ์ด๊ณ ์ด ๊ท์น์ ๊ณ์ธต๋ณ๋ก ๋ค๋ฅด๊ฒ ์กด์ฌํ๋ค.
[7] ์์ฉ ๊ณ์ธต (Application Layer) : ๋ฐ์ดํฐ ๋จ์ message | ํ๋กํ ์ฝ HTTP, SMTP, FTP, SIP ๋ฑ
- ํต์ ์ ์ต์ข ๋ชฉ์ ์ง๋ก, ์์ฉ ํ๋ก๊ทธ๋จ๋ค์ด ํต์ ์ผ๋ก ํ์ฉํ๋ ๊ณ์ธต์ด๋ค.
- ์ฌ์ฉ์์๊ฒ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณ์ธต์ด๋ฉฐ ์น ๋ธ๋ผ์ฐ์ , ์์ฉ ํ๋ก๊ทธ๋จ์ ํตํด ์ฌ์ฉ์์ ์ง์ ์ ์ผ๋ก ์ํธ์์ฉํ๋ค.
- ๋ง์ ํ๋กํ ์ฝ์ด ์กด์ฌํ๋ ๊ณ์ธต์ผ๋ก, ์๋ก์ด ํ๋กํ ์ฝ ์ถ๊ฐ๋ ๊ต์ฅํ ์ฝ๋ค.
- ๋ฐ์ดํฐ์ ์ํธํ, ๋ณตํธํ์ ๊ฐ์ด ์์ฉ ๊ณ์ธต์์ ๊ตํ๋๋ ๋ฐ์ดํฐ์ ์๋ฏธ๋ฅผ ํด์ํ๋ ๊ณ์ธต์ด๋ค.
- ์์ฉ ํ๋ก๊ทธ๋จ โ ๋คํธ์ํฌ ๊ฐ ์ ํด์ง ํ์๋๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณํ, ์ฆ ํํํ๋ค.
- ์ธํฐ๋ท์ ๊ณ์ธต ๊ตฌ์กฐ์๋ ํฌํจ๋์ด์์ง ์์ผ๋ฉฐ ํ์์ ๋ฐ๋ผ ์์ฉ ๊ณ์ธต์์ ์ง์ํ๊ฑฐ๋ ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๊ฐ ์ง์ ๊ฐ๋ฐํด์ผ ํ๋ค.
- ๋ฐ์ดํฐ ๊ตํ์ ๊ฒฝ๊ณ์ ๋๊ธฐํ๋ฅผ ์ ๊ณตํ๋ ๊ณ์ธต์ด๋ค.
- ์ธ์ ๊ณ์ธต์ ํ๋กํ ์ฝ์ ์ฐ๊ฒฐ์ด ์์ค๋๋ ๊ฒฝ์ฐ ์ฐ๊ฒฐ ๋ณต๊ตฌ๋ฅผ ์๋ํ๋ค. ์ค๋ ์๊ฐ ์ฐ๊ฒฐ์ด ๋์ง ์์ผ๋ฉด ์ธ์ ๊ณ์ธต์ ํ๋กํ ์ฝ์ด ์ฐ๊ฒฐ์ ๋ซ๊ณ ๋ค์ ์ฐ๊ฒฐ์ ์ฌ๊ฐํ๋ค.
- ๋ฐ์ดํฐ๋ฅผ ์๋๋ฐฉ์ด ๋ณด๋ด๊ณ ์์ ๋ ๋์์ ๋ณด๋ผ์ง์ ๋ํ ์ ์ด์ค(๋์์ ๋ณด๋, ์ ํ๊ธฐ), ๋ฐ์ด์ค(๋์์ ๋ณด๋ด์ง ์์, ๋ฌด์ ๊ธฐ) ํต์ ์ ๊ฒฐ์ ํ ์ ์๋ค.
- ์ธํฐ๋ท์ ๊ณ์ธต ๊ตฌ์กฐ์๋ ํฌํจ๋์ด์์ง ์์ผ๋ฉฐ ํ์์ ๋ฐ๋ผ ์์ฉ ๊ณ์ธต์์ ์ง์ํ๊ฑฐ๋ ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๊ฐ ์ง์ ๊ฐ๋ฐํด์ผ ํ๋ค.
- ์์ ๊ณ์ธต์ ๋ฉ์์ง๋ฅผ ํ์ ๊ณ์ธต์ผ๋ก ์ ์กํ๋ ๊ณ์ธต์ด๋ค.
- ๋ฉ์์ง์ ์ค๋ฅ๋ฅผ ์ ์ดํ๋ฉฐ, ๋ฉ์์ง๊ฐ ํด ๊ฒฝ์ฐ ์ด๋ฅผ ๋๋ ์(Segmentation) ๋คํธ์ํฌ ๊ณ์ธต์ผ๋ก ์ ๋ฌํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ์ ํจํท์ ์ฌ์กฐ๋ฆฝํด์ ์์ ๊ณ์ธต์ผ๋ก ์ ๋ฌํ๋ค.
- ๋ํ์ ์ผ๋ก TCP, UDP ํ๋กํ ์ฝ์ด ์๋ค. TCP๋ ์ฐ๊ฒฐ ์งํฅํ ํต์ ์, UDP๋ ๋น์ฐ๊ฒฐํ ํต์ ์ ์ ๊ณตํ๋ค.
[3] ๋คํธ์ํฌ ๊ณ์ธต (Network Layer) : ๋ฐ์ดํฐ ๋จ์ datagram, packet | ํ๋กํ ์ฝ IP, ICMP, ARP, RIP, BGP ๋ฑ
- ํจํท์ ํ ํธ์คํธ์์ ๋ค๋ฅธ ํธ์คํธ๋ก ๋ผ์ฐํ ํ๋ ๊ณ์ธต์ด๋ค. (์ฌ๋ฌ ๋ผ์ฐํฐ๋ฅผ ํตํ ๋ผ์ฐํ , ๊ทธ๋ฅผ ํตํ ํจํท ์ ๋ฌ)
- ์ ์ก ๊ณ์ธต์๊ฒ ์ ๋ฌ ๋ฐ์ ๋ชฉ์ ์ง ์ฃผ์๋ฅผ ์ด์ฉํด์ ํจํท์ ๋ง๋ค๊ณ ๊ทธ ๋ชฉ์ ์ง์ ์ ์ก ๊ณ์ธต์ผ๋ก ํจํท์ ์ ๋ฌํ๋ค.
- ์ธํฐ๋ท์ ๊ฒฝ์ฐ IP ํ๋กํ ์ฝ์ด ๋ํ์ ์ด๋ค.
[2] ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต (Data Link Layer) : ๋ฐ์ดํฐ ๋จ์ frame | ํ๋กํ ์ฝ PPP, Ethernet, Token ring, IEE 802.11(Wifi) ๋ฑ
- ๋ฐ์ดํฐ๋ฅผ frame ๋จ์๋ก ํ ๋คํธ์ํฌ ์์์์ ์ด์ ๋คํธ์ํฌ ์์๋ก ์ ์กํ๋ ๊ณ์ธต์ด๋ค. (๋ฌผ๋ฆฌ ๊ณ์ธต์ ์ด์ฉํด ์ ์ก)
- ์ธํฐ๋ท์ ๊ฒฝ์ฐ Ethernet ํ๋กํ ์ฝ์ด ๋ํ์ ์ด๋ค. Ethernet์ MAC ์ฃผ์๋ฅผ ์ด์ฉํด Node-to-Node, Point-to-Point๋ก ํ๋ ์์ ์ ์กํ๋ค.
- ์ด ๊ณ์ธต์ ์ฅ๋น๋ก ๋ํ์ ์ธ ๊ฒ์ ์ค์์น, ๋ธ๋ฆฟ์ง์ด๋ค.
- ์ฅ์น ๊ฐ ์ ๊ธฐ์ ์ ํธ๋ฅผ ์ ๋ฌํ๋ ๊ณ์ธต์ด๋ฉฐ, ๋ฐ์ดํฐ ํ๋ ์ ๋ด๋ถ์ ๊ฐ bit๋ฅผ ํ ๋ ธ๋์์ ๋ค์ ๋ ธ๋๋ก ์ค์ ๋ก ์ด๋์ํค๋ ๊ณ์ธต์ด๋ค.
- ์ธํฐ๋ท์ Ethernet ๋ํ ์ฌ๋ฌ๊ฐ์ง ๋ฌผ๋ฆฌ ๊ณ์ธต ํ๋กํ ์ฝ์ ๊ฐ๊ณ ์๋ค.
- ์ด ๊ณ์ธต์ ์ฅ๋น๋ก ๋ํ์ ์ธ ๊ฒ์ ํ๋ธ, ๋ฆฌํผํฐ์ด๋ค.
์ฐธ๊ณ : [Network] TCP 3-way handshaking๊ณผ 4-way handshaking
TCP๋ ๋คํธ์ํฌ ๊ณ์ธต ์ค ์ ์ก ๊ณ์ธต์์ ์ฌ์ฉํ๋ ํ๋กํ ์ฝ ์ค ํ๋๋ก, ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๋ ์ฐ๊ฒฐํ ์๋น์ค์ด๋ค.
TCP์ 3-way-handshake๋ TCP ํต์ ์ ์์ํ๊ธฐ ์ ์ ๋ ผ๋ฆฌ์ ์ธ ๊ฒฝ๋ก ์ฐ๊ฒฐ์ ์๋ฆฝ (Connection Establish) ํ๋ ๊ณผ์ ์ด๋ฉฐ, 4-way-handshake๋ ๋ ผ๋ฆฌ์ ์ธ ๊ฒฝ๋ก ์ฐ๊ฒฐ์ ํด์ (Connection Termination) ํ๋ ๊ณผ์ ์ด๋ค. ์ด๋ฌํ ๋ฐฉ์์ Connect Oriented ๋ฐฉ์์ด๋ผ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
3-way-handshake ๊ณผ์ ์ ํตํด ์์ชฝ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ค๋น๊ฐ ๋์๋ค๋ ๊ฒ์ ๋ณด์ฅํ๋ค.
- A(CLOSED) โ B(LISTEN) : SYN(a)
- ํ๋ก์ธ์ค A๊ฐ ์ฐ๊ฒฐ ์์ฒญ ๋ฉ์์ง ์ ์ก (SYN)
- ์ด ๋ Sequence Number๋ฅผ ์์์ ๋๋ค ์ซ์(a)๋ก ์ง์ ํ๊ณ , SYN ํ๋๊ทธ ๋นํธ๋ฅผ 1๋ก ์ค์ ํ segment๋ฅผ ์ ์กํ๋ค.
- B(SYN_RCV) โ A(CLOSED) : ACK(a+1), SYN(b)
- ์ฐ๊ฒฐ ์์ฒญ ๋ฉ์์ง๋ฅผ ๋ฐ์ ํ๋ก์ธ์ค B๋ ์์ฒญ์ ์๋ฝ(ACK)ํ์ผ๋ฉฐ, ์์ฒญํ A ํ๋ก์ธ์ค๋ ํฌํธ๋ฅผ ์ด์ด๋ฌ๋ผ(SYN)๋ ๋ฉ์์ง ์ ์ก
- ๋ฐ์ ๋ฉ์์ง์ ๋ํ ์๋ฝ์ ๋ํด์๋ Acknowledgement Number ํ๋๋ฅผ (Sequence Number + 1)๋ก ์ง์ ํ์ฌ ํํํ๋ค. ๊ทธ๋ฆฌ๊ณ SYN๊ณผ ACK ํ๋๊ทธ ๋นํธ๋ฅผ 1๋ก ์ค์ ํ segment๋ฅผ ์ ์กํ๋ค.
- A(ESTABLISHED) โ B(SYN_RCV) : ACK(b+1)
- ๋ง์ง๋ง์ผ๋ก ํ๋ก์ธ์ค A๊ฐ ์๋ฝ ํ์ธ์ ๋ณด๋ด ์ฐ๊ฒฐ์ ๋งบ์ (ACK)
- ์ด ๋, ์ ์กํ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ์ด ๋จ๊ณ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ค.
์ต์ข PORT ์ํ : A-ESTABLISHED, B-ESTABLISHED (์ฐ๊ฒฐ ์๋ฆฝ)
- A(ESTABLISHED) โ B(ESTABLISHED) : FIN
- ํ๋ก์ธ์ค A๊ฐ ์ฐ๊ฒฐ์ ์ข ๋ฃํ๊ฒ ๋ค๋ FIN ํ๋๊ทธ๋ฅผ ์ ์ก
- ํ๋ก์ธ์ค B๊ฐ FIN ํ๋๊ทธ๋ก ์๋ตํ๊ธฐ ์ ๊น์ง ์ฐ๊ฒฐ์ ๊ณ์ ์ ์ง
- B(CLOSE_WAIT) โ A(FIN_WAIT_1) : ACK
- ํ๋ก์ธ์ค B๋ ์ผ๋จ ํ์ธ ๋ฉ์์ง(ACK)๋ฅผ ๋ณด๋ด๊ณ ์์ ์ ํต์ ์ด ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฐ๋ค.
- Acknowledgement Number ํ๋๋ฅผ (Sequence Number + 1)๋ก ์ง์ ํ๊ณ , ACK ํ๋๊ทธ ๋นํธ๋ฅผ 1๋ก ์ค์ ํ segment๋ฅผ ์ ์กํ๋ค.
- ๊ทธ๋ฆฌ๊ณ ์์ ์ด ์ ์กํ ๋ฐ์ดํฐ๊ฐ ๋จ์์๋ค๋ฉด ์ด์ด์ ๊ณ์ ์ ์กํ๋ค. (ํด๋ผ์ด์ธํธ ์ชฝ์์๋ ์์ง ์๋ฒ๋ก๋ถํฐ ๋ฐ์ง ๋ชปํ ๋ฐ์ดํฐ๊ฐ ์์ ๊ฒ์ ๋๋นํด ์ผ์ ์๊ฐ๋์ ์ธ์ ์ ๋จ๊ฒจ๋๊ณ ํจํท์ ๊ธฐ๋ค๋ฆฐ๋ค. ์ด๋ฅผ TIME_WAIT ์ํ๋ผ๊ณ ํ๋ค.)
- B(CLOSE_WAIT) โ A(FIN_WAIT_2) : FIN
- ํ๋ก์ธ์ค B์ ํต์ ์ด ๋๋๋ฉด ์ด์ ์ฐ๊ฒฐ ์ข ๋ฃํด๋ ๊ด์ฐฎ๋ค๋ ์๋ฏธ๋ก ํ๋ก์ธ์ค A์๊ฒ FIN ํ๋๊ทธ๋ฅผ ์ ์กํ๋ค.
- A(TIME_WAIT) โ B(LAST_ACK) : ACK
- ํ๋ก์ธ์ค A๋ FIN ๋ฉ์์ง๋ฅผ ํ์ธํ๋ค๋ ๋ฉ์์ง๋ฅผ ์ ์ก (ACK)
- ํ๋ก์ธ์ค A๋ก๋ถํฐ ACK ๋ฉ์์ง๋ฅผ ๋ฐ์ ํ๋ก์ธ์ค B๋ ์์ผ ์ฐ๊ฒฐ์ ํด์ ํ๋ค.
์ต์ข PORT ์ํ : A-CLOSED, B-CLOSED (์ฐ๊ฒฐ ํด์ )
์๋์ ์๋ฃ์์ ์์ธํ ์ค๋ช ๊ณผ ์ฝ๋๋ฅผ ๋ณผ ์ ์๋ค.
- ์์ฑ์ ๊ถํ์ง | TCP ์ UDP
HTTP์ GET, POST ๋ฉ์๋๋ HTTP ํ๋กํ ์ฝ์ ์ด์ฉํด์ ์๋ฒ์ ๋ฐ์ดํฐ(์์ฒญ ์ ๋ณด)๋ฅผ ์ ๋ฌํ ๋ ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค.
GET ๋ฉ์๋๋ ์ ๋ณด๋ฅผ ์กฐํํ๊ธฐ ์ํ ๋ฉ์๋๋ก, ์๋ฒ์์ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํ ์ฉ๋์ ๋ฉ์๋์ด๋ค. "๊ฐ์ ธ์ค๋ ๊ฒ(Select)"
GET ๋ฐฉ์์ ์์ฒญํ๋ ๋ฐ์ดํฐ๊ฐ HTTP Request Message์ Header ๋ถ๋ถ์ url์ ๋ด๊ฒจ์ ์ ์ก๋๋ค. ์ด๋ ์์ฒญ ์ ๋ณด๋ฅผ url ์์ ๋ฃ์ด์ผ ํ๋ค๋ ๋ป์ด๋ค. ์์ฒญ ์ ๋ณด๋ฅผ url์ ๋ฃ๋ ๋ฐฉ๋ฒ์ ์์ฒญํ๋ ค๋ url์ ๋์ ?
๋ฅผ ๋ถ์ด๊ณ , (key=value)
ํํ๋ก ์์ฒญ ์ ๋ณด๋ฅผ ๋ด์ผ๋ฉด ๋๋ค. ์์ฒญ ์ ๋ณด๊ฐ ์ฌ๋ฌ ๊ฐ์ผ ๊ฒฝ์ฐ์๋ &
๋ก ๊ตฌ๋ถํ๋ค.
ex.
www.urladdress.xyz?name1=value1&name2=value2
,www.google.com/search?q=์๊ทธ๋ฆผ
GET ๋ฐฉ์์ ๊ฒ์ํ์ ๊ฒ์๊ธ ์กฐํ ๊ธฐ๋ฅ์ฒ๋ผ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๋ ์ฐ์ด๋ฉฐ ์๋ฒ์ ์ํ๋ฅผ ๋ฐ๊พธ์ง ์๋๋ค. ์์ธ์ ์ผ๋ก ๋ฐฉ๋ฌธ์์ ๋ก๊ทธ ๋จ๊ธฐ๊ธฐ ๊ธฐ๋ฅ์ด๋ ๊ธ์ ์ฝ์ ํ์ ์ฆ๊ฐ ๊ธฐ๋ฅ์๋ ์ฐ์ธ๋ค.
GET ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ด ์๋ค.
- url์ ์์ฒญ ์ ๋ณด๊ฐ ์ด์ด๋ถ๊ธฐ ๋๋ฌธ์ ์ ์กํ ์ ์๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ์ ํ์ ์ด๋ค. (์ฃผ์๊ฐ + ํ๋ผ๋ฏธํฐ ํด์ 255์๋ก ์ ํ๋๋ค. HTTP/1.1์ 2048์)
- HTTP ํจํท์ Body๋ ๋น์ด ์๋ ์ํ๋ก ์ ์กํ๋ค. ์ฆ, Body์ ๋ฐ์ดํฐ ํ์ ์ ํํํ๋ Content-Type ํ๋๋ HTTP Request Header์ ๋ค์ด๊ฐ์ง ์๋๋ค.
- ์์ฒญ ๋ฐ์ดํฐ๊ฐ ๊ทธ๋๋ก url์ ๋ ธ์ถ๋๋ฏ๋ก ์ฌ์ฉ์๊ฐ ์ฝ๊ฒ ๋์ผ๋ก ํ์ธํ ์ ์์ด POST ๋ฐฉ์๋ณด๋ค ๋ณด์์ ์ทจ์ฝํ๋ค. ๋ณด์์ด ํ์ํ ๋ฐ์ดํฐ๋ GET ๋ฐฉ์์ด ์ ์ ํ์ง ์๋ค.
- GET ๋ฐฉ์์ ๋ฉฑ๋ฑ์ฑ(Idempotent, ์ฐ์ฐ์ ์ฌ๋ฌ ๋ฒ ์ ์ฉํ๋๋ผ๋ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง์ง ์๋ ์ฑ์ง)์ด ์ ์ฉ๋๋ค.
- GET ๋ฐฉ์์ ์บ์ฑ์ ์ฌ์ฉํ ์ ์์ด, GET ์์ฒญ๊ณผ ๊ทธ์ ๋ํ ์๋ต์ด ๋ธ๋ผ์ฐ์ ์ ์ํด ์บ์ฌ๋๋ค. ๋ฐ๋ผ์ POST ๋ฐฉ์๋ณด๋ค ๋น ๋ฅด๋ค.
GET ๋ฐฉ์์ ์บ์ฑ : ์๋ฒ์ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ ๋ ์น ์บ์๊ฐ ์์ฒญ์ ๊ฐ๋ก์ฑ ์๋ฒ๋ก๋ถํฐ ๋ฆฌ์์ค๋ฅผ ๋ค์ ๋ค์ด๋ก๋ํ๋ ๋์ ๋ฆฌ์์ค์ ๋ณต์ฌ๋ณธ์ ๋ฐํํ๋ค. HTTP ํค๋์์ cache-control ํค๋๋ฅผ ํตํด ์บ์ ์ต์ ์ ์ง์ ํ ์ ์๋ค. (์ถ์ฒ: [๋คํธ์ํฌ] get ๊ณผ post ์ ์ฐจ์ด)
POST ๋ฉ์๋๋ ์๋ฒ์ ๊ฐ์ด๋ ์ํ๋ฅผ ๋ฐ๊พธ๊ธฐ ์ํ ์ฉ๋์ ๋ฉ์๋์ด๋ค. "์ํํ๋ ๊ฒ(Insert, Update, Delete)"
POST ๋ฐฉ์์ ์์ฒญํ๋ ๋ฐ์ดํฐ๊ฐ HTTP Request Message์ Body ๋ถ๋ถ์ ๋ด๊ฒจ์ ์ ์ก๋๋ค. Request Header์ Content-Type์ ํด๋น ๋ฐ์ดํฐ ํ์ ์ด ํํ๋๋ฉฐ, ์ ์กํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ ํ์ ์ ์ ์ด์ฃผ์ด์ผ ํ๋ค.
- Default : application/octet-stream
- ๋จ์ txt : text/plain
- ํ์ผ : multipart/form-data
POST ๋ฐฉ์์ ๊ฒ์ํ ๊ธ์ฐ๊ธฐ ๊ธฐ๋ฅ์ฒ๋ผ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์ดํธํ ๋ ์ฐ์ธ๋ค.
POST ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ด ์๋ค.
- Body ์์ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์ ์กํ๊ธฐ ๋๋ฌธ์ ๋์ฉ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ์ ์ ํฉํ๋ค.
- GET ๋ฐฉ์๋ณด๋ค ๋ณด์์ ์์ ํ์ง๋ง, ์ํธํ๋ฅผ ํ์ง ์๋ ์ด์ ๋ณด์์ ์ทจ์ฝํ ๊ฒ์ ๊ฐ๋ค.
- ํด๋ผ์ด์ธํธ ์ชฝ์์ ๋ฐ์ดํฐ๋ฅผ ์ธ์ฝ๋ฉํ์ฌ ์๋ฒ๋ก ์ ์กํ๊ณ , ์ด๋ฅผ ๋ฐ์ ์๋ฒ ์ชฝ์ด ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋์ฝ๋ฉํ๋ค.
๋ชฉ์ ์ ๋ง๋ ๊ธฐ์ ์ ์ฌ์ฉํด์ผ ํ๋ค. - GET ๋ฐฉ์์ ์บ์ฑ๊ณผ ์ฐ๊ด์ง์ด ์๊ฐํด๋ณด๊ธฐ
GET ๋ฐฉ์์ ์์ฒญ์ ๋ธ๋ผ์ฐ์ ์์ ์บ์ฑ์ ํ ์ ์๋ค๊ณ ํ๋ค. ๋๋ฌธ์ POST ๋ฐฉ์์ผ๋ก ์์ฒญํด์ผ ํ ๊ฒ์, ์์ฒญ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ์๊ณ ๋ณด์์ ์ธ ๋ฌธ์ ๊ฐ ์๋ค๋ ์ด์ ๋ก GET ๋ฐฉ์์ผ๋ก ์์ฒญํ๋ค๋ฉด ๊ธฐ์กด์ ์บ์ฑ๋์๋ ๋ฐ์ดํฐ๊ฐ ์๋ต๋ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํ๋ค. ๋๋ฌธ์ ๋ชฉ์ ์ ๋ง๋ ๊ธฐ์ ์ ์ฌ์ฉํด์ผ ํ๋ค.
์๋์ ์๋ฃ์์ ์์ธํ ์ค๋ช ๊ณผ ์ฝ๋๋ฅผ ๋ณผ ์ ์๋ค.
- ์์ฑ์ ๊ถํ์ง | HTTP์ HTTPS
์๋์ ์๋ฃ์์ ์์ธํ ์ค๋ช ๊ณผ ์ฝ๋๋ฅผ ๋ณผ ์ ์๋ค.
- ์์ฑ์ ์ค๊ฐ์ | DNS round robin & network flow
WWW (world wide web)
์ ์ฝ์์ด๋ฉฐ ์ธํฐ๋ท์ผ๋ก ์ฐ๊ฒฐ๋ ์ปดํจํฐ๋ฅผ ํตํด ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์๋ ๊ณต๊ฐ์ ๋ปํ๋ค.
ํํ๋ค ์น๊ณผ ์ธํฐ๋ท์ ํต์ฉํ์ฌ ์ฌ์ฉํ๋๋ฐ ์์ฐํ ๋ค๋ฅธ ๊ฐ๋ ์ด๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์น ํต์ ์ HTTP ํ๋กํ ์ฝ
์ ์ฌ์ฉํ์ฌ ํต์ ํ๋ค.
ํต์ ์ ์ฃผ์ฒด๋ฅผ ํฌ๊ฒ Client
์ Server
๋ก ๋๋ ์ ์๋ค.
-
Client: ์๋ฒ์๊ฒ ์ ๋ณด๋ฅผ ์์ฒญํ๊ฑฐ๋ ์ ์ํ๊ณ ์ ํ๋ ์ฃผ์ฒด
- ex) ๋ธ๋ผ์ฐ์
-
Server: ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ณด ํน์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ปดํจํฐ (ํน์ ์์คํ )
์ด๋ฌํ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ Request
์ Response
๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ํต์ ์ด ์ผ์ด๋๋ค.
https://www.naver.com/
์ฃผ์์ฐฝ์ ํด๋น URL์ ์
๋ ฅํ ๋ค ํด๋ผ์ด์ธํธ์ ํ๋ฉด์ด ๋ ๋๋ง ๋๊ธฐ๊น์ง ์ด๋ค ๊ณผ์ ์ด ์์๊น?
๊ทธ ์ ์, IP์ฃผ์
์ ๋๋ฉ์ธ ์ด๋ฆ
๊ทธ๋ฆฌ๊ณ ์ด ๋์ ๊ด๊ณ์ ๋ํด ์์๋ณด์.
-
IP์ฃผ์๋, ์ปดํจํฐ๋ค์ ๊ณ ์ ์๋ณ๋ฒํธ๋ก ์๊ฐํ๋ฉด ๋๋ค. IP์ฃผ์๋
127.0.0.1
๊ณผ ๊ฐ์ ํํ์ ์ซ์๋ก ๋ํ๋๋ค.ํ์ฌ๋ .์ผ๋ก ๊ตฌ๋ถ๋ ๊ฐ ์๋ฆฌ์์ 0~255๋ฅผ ๋ํ๋ผ ์ ์๋ 32๋นํธ์ IPv4 ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋, ์ธํฐ๋ท ์ฌ์ฉ์ ์ ์ฆ๊ฐ๋ก IP์ฃผ์ ๋ถ์กฑ ํ์์ด ์ผ์ด๋ฌ๊ณ ์ด๋ 128๋นํธ์ IPv6๊ฐ ๋ฑ์ฅํ๋ ๋ฐฐ๊ฒฝ์ด ๋์๋ค.
-
๋๋ฉ์ธ ์ด๋ฆ์ด๋, ์ฌ๋์ด ์ฝ๊ฒ ์ธ์ธ ์ ์๋๋ก IP์ฃผ์๋ฅผ ์ด๋ ํ ๋ฌธ์๋ก ํํํ ๊ฒ์ ์๋ฏธํ๋ค. ์ฆ, ์ URL์์
naver.com
์ด ๋๋ฉ์ธ ์ด๋ฆ์ ํด๋นํ๋ค.
ํฐ๋ฏธ๋์ ์ผ ๋ค
host naver.com
์ ์ ๋ ฅํด๋ณด์.naver.com
๋๋ฉ์ธ์ด ๊ฐ๋ IP์ฃผ์๋ฅผ ์ ์ ์๊ณ , ์ฃผ์์ฐฝ์ ํด๋น IP์ฃผ์๋ฅผ ์ ๋ ฅํ๋ฉด ๋๋ฉ์ธ์ ์ ๋ ฅํ์ ๋์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป๋๋ค.
์ฆ, ๋ธ๋ผ์ฐ์ ์ ์ ๋ ฅ๋ ๋๋ฉ์ธ ์ด๋ฆ์ ํตํด ํด๋น ๋๋ฉ์ธ์ IP์ฃผ์๋ฅผ ์ป์ ๋ค ํต์ ์ ์์ํ ์ ์๋ค๋ ๊ฒ์ด๋ค.
์ด๋ฌํ ๋๋ฉ์ธ ์ด๋ฆ->IP
๊ณผ์ ์์ ํ์ํ ๋์ฐ๋ฏธ ์ญํ ์ ํ๋ ๊ฒ์ด DNS
์ด๋ค.
๋ค์์ ๊ทธ๋ฆผ๊ณผ ํจ๊ป ์ดํด๋ณด์.
์๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ฌ์ฉ์๊ฐ ๋๋ฉ์ธ ์ด๋ฆ ์ ๋ ฅ
- DNS๋ฅผ ํตํด ๋๋ฉ์ธ ์ด๋ฆ๊ณผ ๋งคํ๋๋ IP์ฃผ์ ํ๋
- HTTP ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์์ฒญ
(=HTTP Request)
์์ฑ - TCP ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์๋ฒ์ IP์ฃผ์ ์ปดํจํฐ๋ก Request ์ ์ก
- ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ํ ์๋ต
(=HTTP Response)
์ ์ก - ๋ธ๋ผ์ฐ์ ์ ๋์ฐฉํ Response๋ ์นํ์ด์ง๋ฅผ ๋ํ๋ด๋ ๋ฐ์ดํฐ๋ก ๋ณํ๋์ด ๋ธ๋ผ์ฐ์ ์ ๋ํ๋จ.
์น ํต์ ์ ๋ฌผ๋ฆฌ์ ์ธ ์์์ ๊ด๋ จ๋ ์์ธํ ์ค๋ช ์ ์๋์ ์๋ฃ์์ ๋ณผ ์ ์๋ค.
- ์์ฑ์ ์ค๊ฐ์ | DNS round robin & network flow
์ง๋ฌธ์ ๋ํ ๋ต์ ๋งํด๋ณด๋ฉฐ ๊ณต๋ถํ ๋ด์ฉ์ ์ ๊ฒํ ์ ์์ผ๋ฉฐ, ํด๋ฆญํ๋ฉด ๋ต๋ณ ๋ด์ฉ์ ํ์ธํ ์ ์์ต๋๋ค.
OSI 7๊ณ์ธต์ ํํ๋ฉด ์ข์์ ์ด ๋ฌด์์ผ๊น์?
- ๋คํธ์ํฌ ํต์ ์ด ์ผ์ด๋๋ ๊ณผ์ ์ ๋จ๊ณ๋ณ๋ก ์ดํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ์์ธ์ ๋ฒ์๋ฅผ ์ขํ ์ ์์ด ํจ์จ์ ์ด๋ค.
- ์ฅ๋น ๊ฐ ํธํ์ฑ์ ์ ๊ณตํ๋ฉฐ ๋คํธ์ํฌ ์ฅ์น/์ปดํจํ ์ฅ์น๋ฅผ ๋ง๋ค ๋์ ์ฐธ์กฐ๋ชจ๋ธ ํ์ค์ด ๋ ์ ์๋ค.
๋ง์ ์ง์ฅ์ธ๋ค์ด ์์๋ฃฉ์ ์ด์ฉํ์ฌ ํ์ฌ ๋ฉ์ผ์ ๊ด๋ฆฌํ๊ณ ์์ต๋๋ค. ์์๋ฃฉ๊ณผ ๊ด๋ จ๋ ๊ณ์ธต๊ณผ ํ๋กํ ์ฝ์ ๋งํด์ฃผ์ธ์.
- ๊ณ์ธต : 7๊ณ์ธต, Application Layer
- ํ๋กํ ์ฝ : SMTP, POP3
์์๋ฃฉ์ ๋ฉ์์ง ํ๋กํ ์ฝ์ ์ฌ์ฉํ๊ธฐ ์ฝ๊ฒํ๋ ์์ฉํ๋ก๊ทธ๋จ์ด๋ค.
์ด์ ์ ์ ํฌ ํ์ฌ์ ์๋น์ค๋ฅผ ์ ๊ณต๋ฐ๋ ๋ชจ๋ ๊ณ ๊ฐ์ pc์์ ์๋น์ค ์ค๋จ ์ด ์ผ์ด๋ฌ์ต๋๋ค. OSI 7๊ณ์ธต์ ๊ด์ ์ผ๋ก ๋ช๋ฒ์งธ ๊ณ์ธต์ ๋ฌธ์ ์์ ์์ํ ์ ์์๊น์?
ํ๋ช
์ ๊ณ ๊ฐ์ด ์๋, โ๋ชจ๋ ๊ณ ๊ฐ์ pcโ์์ ๋ฌธ์ ๊ฐ ์๊ฒผ์ผ๋ฏ๋ก, 1๊ณ์ธต
ํน์ 3๊ณ์ธต
์ ๋ฌธ์ ๊ฐ ์์์ ์์ํ ์ ์๋ค.
์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ฒผ๋๋ฐ, Ping Test ์ ๋ฌธ์ ๋ ์์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๋ ๊ณ์ธต์์ ๋ฌธ์ ๊ฐ ์๋ค๋ ๊ฒ์ ์ ์ถํ ์ ์๋์?
Ping Test๋ 3๊ณ์ธต(๋คํธ์ํฌ ๋ ์ด์ด)์ ์ํ๋ค. ์ฆ, 4๊ณ์ธต ~ 7๊ณ์ธต ์ฌ์ด์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ์ผ๋ก ์ ์ถํ ์ ์๋ค.
์ ํ๋ธ์ ๊ฐ์ ์คํธ๋ฆฌ๋ฐ ์๋น์ค๋ฅผ ์ ์ํด๋ณด๋ คํฉ๋๋ค. ์ด๋ ์ด๋ค ํ๋กํ ์ฝ๋ก ๊ตฌํํ ๊ฒ์ธ์ง ๊ด๋ จ ๊ณ์ธต๊ณผ ์ฐ๊ด์ง์ด ๋งํด์ฃผ์ธ์.
์๋ํ ๋ต : ์คํธ๋ฆฌ๋ฐ์์๋ ์ฐ์์ฑ์ด ์ค์ํ๊ธฐ ๋๋ฌธ์ ์ ๋ขฐ๋๋ ๋ฎ์ง๋ง ๋น ๋ฅธ 4๊ณ์ธต transport layer์ UDP ํ๋กํ ์ฝ
์ ์ฌ์ฉํ์ฌ ๊ตฌํํ๊ฒ ์ต๋๋ค.
http ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐํ ๊ฒฝํ์ด ์๋ค๋ฉด ๋ง์ํด์ฃผ์ธ์.
์ ํด์ง ๋ต ์์.
http๋ ์ฐ๊ฒฐ์ฑ์ผ๊น์, ๋น ์ฐ๊ฒฐ์ฑ์ผ๊น์? ๊ทผ๊ฑฐ๋ฅผ ๋ค์ด ๋งํด์ฃผ์ธ์.
๋น์ฐ๊ฒฐ์ฑ์ด๋ค.
๋น์ฐ๊ฒฐ์ฑ
์ด๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ํ ๋ฒ ์ฐ๊ฒฐ์ ๋งบ์ ํ, ํด๋ผ์ด์ธํธ ์์ฒญ์ ๋ํด ์๋ฒ๊ฐ ์๋ต์ ๋ง์น๋ฉด ๋งบ์๋ ์ฐ๊ฒฐ์ ๋์ด ๋ฒ๋ฆฌ๋ ์ฑ์ง์ ๋งํ๋ค.
ํ์ง๋ง ๋ค์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ์ ์ฐ๊ฒฐ์ํ๋ฅผ ์ ์งํ๋ ค๋ฉด ์์์ด ๋ง์ด ํ์ํ๋ค. HTTP๋ ๋ค์์ ํด๋ผ์ด์ธํธ๊ฐ ์น ์๋ฒ์ ์์ฒญํ๋ ๋ฐฉ์์ ๋๋ฏ๋ก ์ฐ๊ฒฐ์ง์์ ํ์ํ ์์์ ์ค์ฌ ๋ ๋ง์ Connection
์ ์๋ฆฝํ๋ ๊ฒ์ ์ค์ ์ ๋๋ค.
๋น ์ฐ๊ฒฐ์ฑ์ ์ฅ์ ์ ๋ฌด์์ธ๊ฐ์?
์๋ฒ์์ ๋ค์์ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ์ ์ ์งํ๋ค๋ฉด, ๊ทธ๋งํผ ๋ฆฌ์์ค๊ฐ ๋ง์ด ํ์ํ๊ฒ ๋๋ค. ๋น์ฐ๊ฒฐ์ฑ์ด๋ฉด, ์ด์ ๋ฐ๋ฅธ ๋ฆฌ์์ค๋ฅผ ์ค์ฌ ๋ ๋ง์ ์ฐ๊ฒฐ์ ํ ์ ์๋ค.
๋น ์ฐ๊ฒฐ์ฑ์ ๋จ์ ์ ๋ฌด์์ด๊ณ , ํด๊ฒฐ๋ฒ์ ๋ฌด์์ธ๊ฐ์?
์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ๋ฅผ ๊ธฐ์ตํ๊ณ ์์ง ์์ ๋์ผํ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ํด ๋งค๋ฒ ์ฐ๊ฒฐ ์๋/ํด์ ์ ์์ ์ ํด์ผํ๋ฏ๋ก ์ค๋ฒํค๋๊ฐ ์ฆ๊ฐํ๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก HTTP Header์๋ Keep-Alive
์์ฑ์ด ์๋๋ฐ, ์ด๋ฅผ ํตํด ์ฐ๊ฒฐ์ ๋ํ ํ์์์์ ์ง์ ํ ์ ์๋ค.
์ฐ๊ฒฐ์ฑ์ธ์ ํด๋ผ์ด์ธํธ์ ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ธฐ ์ํด์๋ Cookie
, Token
, Session
์ ์ฌ์ฉํ๊ธฐ๋ํ๋ค.
๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ธฐ ์ํ ์ฉ๋๋ก POST๊ฐ ์๋ GET ๋ฐฉ์์ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
- ์ค๊ณ ์์น์ ๋ฐ๋ผ GET ๋ฐฉ์์ ์๋ฒ์๊ฒ ์ฌ๋ฌ ๋ฒ ์์ฒญ์ ํ๋๋ผ๋ ๋์ผํ ์๋ต์ด ๋์์์ผ ํ๋ค. (๋ฉฑ๋ฑ์ฑ)
- GET ๋ฐฉ์์ "๊ฐ์ ธ์ค๋ ๊ฒ"์ผ๋ก, ์๋ฒ์ ๋ฐ์ดํฐ๋ ์ํ๋ฅผ ๋ณ๊ฒฝ์ํค์ง ์์์ผ ํ๋ค.
(ex. ๊ฒ์ํ์ ๋ฆฌ์คํธ, ๊ฒ์๊ธ ๋ณด๊ธฐ ๊ธฐ๋ฅ | ์์ธ. ๋ฐฉ๋ฌธ์์ ๋ก๊ทธ ๋จ๊ธฐ๊ธฐ, ๊ธ์ ์ฝ์ ํ์ ์ฆ๊ฐ ๊ธฐ๋ฅ) - POST ๋ฐฉ์์ "์ํํ๋ ๊ฒ"์ผ๋ก, ์๋ฒ์ ๊ฐ์ด๋ ์ํ๋ฅผ ๋ฐ๊พธ๊ธฐ ์ํ ์ฉ๋์ด๋ค.
(ex. ๊ฒ์ํ์ ๊ธ์ฐ๊ธฐ ๊ธฐ๋ฅ)
- GET ๋ฐฉ์์ "๊ฐ์ ธ์ค๋ ๊ฒ"์ผ๋ก, ์๋ฒ์ ๋ฐ์ดํฐ๋ ์ํ๋ฅผ ๋ณ๊ฒฝ์ํค์ง ์์์ผ ํ๋ค.
- ์น์์ ๋ชจ๋ ๋ฆฌ์์ค๋ Linkํ ์ ์๋ url์ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค.
- ์ด๋ค ์นํ์ด์ง๋ฅผ ์กฐํํ ๋ ์ํ๋ ํ์ด์ง๋ก ๋ฐ๋ก ์ด๋ํ๊ฑฐ๋ ์ด๋์ํค๊ธฐ ์ํด์๋ ํด๋น ๋งํฌ์ ์ ๋ณด๊ฐ ํ์ํ๋ค.
- ๋ง์ผ POST ๋ฐฉ์์ ์ฌ์ฉํ๋ค๋ฉด, ๋งํฌ์ ์ ๋ณด๊ฐ Body์ ์๊ธฐ ๋๋ฌธ์ url๋ง ์ ๋ฌํ ์ ์์ผ๋ฏ๋ก GET ๋ฐฉ์์ ์ฌ์ฉํด์ผ ํ๋ค. ๊ธ์ ์ ์ฅํ๋ ๊ฒฝ์ฐ์๋ URL์ ์ ๊ณตํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ POST ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ ์กฐํ/์ญ์ /์์ ์ ์ ๋ฌด๋ฅผ ํ๋ ค๊ณ ํฉ๋๋ค. ๊ฐ๊ฐ์ ์ด๋ค ๋ฐฉ์์ผ๋ก ์ค๊ณํ ๊ฒ์ธ์ง ๋งํด์ฃผ์ธ์.
์๋ํ ๋ต : ์กฐํ๋ GET
, ์ญ์ ๋ DETELE
, ์์ ์ POST
๋ก ์ค๊ณํ ๊ฒ์ด๋ค. GET์ ์กฐํํ๊ธฐ ์ํ ๋ฉ์๋๋ก ๋ฉฑ๋ฑ์ฑ
์ ๋ง์กฑํ๊ธฐ ์ํด ๋ฐ์ดํฐ์ ์์ ์ด ์์ด์ผํ๋ฉฐ, POST๋ ์๋ฒ์ ๊ฐ ํน์ ์ํ๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ํ ๋ฉ์๋๋ก ์์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. RESTful API์ ๊ทผ๊ฑฐํ์ฌ ์ญ์ ๋ DELETE๋ก ์ค๊ณํ๋ค.
TCP์ ํน์ฑ์ ๋ํด์ ๋ง์ํด์ฃผ์ธ์.
TCP๋ Transfer Control Protocol
๋ก 4๊ณ์ธต Transport Layer์ ์ํ๋ ํ๋กํ ์ฝ์ด๋ค.
3-way Handshaking
์ ํตํด ๋ ผ๋ฆฌ์ ์ธ ๊ฒฝ๋ก์ ์ฐ๊ฒฐ์ ์๋ฆฝํ๊ณ4-way Handshaking
์ ํตํด ๋ ผ๋ฆฌ์ ์ธ ๊ฒฝ๋ก์ ์ฐ๊ฒฐ์ ํด์ ํ๋Connect Oriented
์ฆ, ์ฐ๊ฒฐ์งํฅ์ฑ ํ๋กํ ์ฝ์ด๋ค.- ํผ์ก์ ์ด, ํ๋ฆ์ ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
Reliable Data Transfer(=RDT)
์ฆ, ์ ๋ขฐ์ฑ ์๋ ์ ์ก์ ์ง์ํ๋ค. RDT1.0 ~ RDT3.0 ๋ฑ์ผ๋ก ๋ฐ์ ํด์์ผ๋ฉฐGo-Back-N
,Selective Repeat
,ํ์ด๋จธ
๋ฅผ ํตํ timeout ๋ฑ ๋ค์ํ ๋ฐฉ์์ด ์๋ค.- HTTP, E-mail, File Transfer ๋ฑ์ ์ฌ์ฉ๋๋ค.
UDP์ ํน์ฑ์ ๋ํด์ ๋ง์ํด์ฃผ์ธ์.
UDP๋ User Datagram Protocol
๋ก TCP์ ๊ฐ์ด ์ ์ก๊ณ์ธต์ ์ํด์์ผ๋ ๊ฐ๋ ํน์ง์ด ์กฐ๊ธ ๋ค๋ฅด๋ค.
- ๋น์ฐ๊ฒฐํ,
Connectionless
ํ๋กํ ์ฝ์ด๋ค. TCP์ ๊ฐ์ Handshaking ์ ์ฐจ๊ฐ ์กด์ฌํ์ง ์๋๋ค. - TCP์์ ์ง์ํ๋ ํ๋ฆ์ ์ด, ํผ์ก์ ์ด, ์์๋ณด์ฅ, ์ ์ก๋ณด์ฅ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์๋๋ค.
- ์ต์ํ์ ์ค๋ฅ๊ฒ์ถ์ ์ํด
checksum
์ ํ์ฉํ๋ค. - TCP์ ๋นํด ๋น ๋ฅธ ์๋์ ์ ์ ๋ถํ๋ฅผ ๊ฐ๊ธฐ์
์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ
,DNS
์ ์ฌ์ฉํ๊ธฐ ์ ํฉํ๋ค.
HTTP๋๋ ์ํธํ ๋์ง ์์ ํ๋กํ ์ฝ์ ๋ฌธ์ ์ ์ ๋ฌด์์ด ์๋์?
-
ํ๋ฌธ ํต์ ์ด๊ธฐ ๋๋ฌธ์ ๋์ฒญ์ด ๊ฐ๋ฅํ๋ค.
-
ํต์ ์๋๋ฅผ ํ์ธํ์ง ์๊ธฐ ๋๋ฌธ์ ์์ฅ์ด ๊ฐ๋ฅํ๋ค.
-
์์ ์ฑ์ ์ฆ๋ช ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ณ์กฐ๊ฐ ๊ฐ๋ฅํ๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ค์ํ ๋ฐฉ์์ด ์กด์ฌํ๋๋ฐ ๋ํ์ ์ผ๋ก HTTPS ๊ฐ ์์ต๋๋ค. HTTPS์ ๋ํด ์ค๋ช ํด์ฃผ์๊ฒ ์ด์?
HTTPS๋ HTTP์ SSL์ ๋ฎ์ด ์์ด๊ฒ ๊ณผ ๊ฐ๋ค. ์๋ HTTP์ ํต์ ํ๋ ์์ผ ๋ถ๋ถ์ SSL ๋๋ TLS๋ผ๋ ํ๋กํ ์ฝ๋ก ๋์ฒดํ๋ ๊ฒ์ด๋ค. HTTP๋ ์๋ TCP์ ์ง์ ํต์ ํ๋ค๋ฉด HTTPS์์๋ HTTP์ SSL์ด ํต์ ํ๊ณ SSL๊ณผ TCP๊ฐ ํต์ ํ๋ ๋ฐฉ์์ด๋ผ ํ ์ ์๋ค. SSL์ ์ด์ฉํ๋ HTTP๋ ์ํธํ์ ์ฆ๋ช ์, ์์ ์ฑ ๋ณดํธ๋ฅผ ์ด์ฉํ ์ ์๊ฒ ๋๋ค. ๋ฑ๋ฑ
HTTP ์ HTTPS ์ค ์ด๋ค ํ๋กํ ์ฝ์ด ๋ ๋ง์ด ์ฌ์ฉ ๋๋ค๊ณ ์๊ฐํ๋์ง์ ๊ทธ ์ด์ ์ ๋ํด์ ๋ง์ํด์ฃผ์ธ์.
HTTPS๊ฐ ๋ณด์์ ์ธ ๋ฉด์์ ๋ฐ์ด๋ ๋งํผ ์ฒ๋ฆฌํด์ผํ ์์ ์ด ๋ง์ ์๋๊ฐ ๋จ์ด์ ธ ์ค์ํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ด์ธ์๋ HTTP๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ผ ์๊ฐํ๊ฒ ์ง๋ง ํฐ ์ค์ฐ์ด๋ค. ์ฝ 10๋ ์ CPU๋งํด๋ ์ด๋ฌํ ์์ ์ ์ฒ๋ฆฌํ๋๋ฐ ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์์ด ์ฌ์ฉ๋ ๋งํ ์คํ์ ์์น๋ฅผ ๋ณด์๋ค. ๋ํ HTTPS ๋ง์ ์ง์ํ๋๋ก HTTP/2(์ฌ์ค์ HTTP๋ ์ง์ํ์ง๋ง ๊ฐ๋ฐํ์ด ๊ทธ๋ ๊ฒ ๊ฐ๋ฐํ์ง ์์)๋ ๋ค์คํ์ ์ฐ์ ์์๋ฅผ ์ด์ฉํ์ฌ ๋๋น ๋ฅด๊ฒ ํ์ด์ง๋ฅผ ๋ก๋ํ๋ ๊ตฌ๊ธ์ ๋คํธ์ํฌ ํ๋กํ ์ฝ SPDY๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ์๋ค. ๊ทธ๋์ HTTP/2๋ฅผ ์ง์ํ๋ ์น์ด๋ผ๋ฉด HTTPS ๊ฐ ์๋ ์กฐ์ฐจ ๋์ฑ ๋น ๋ฅด๋ค. ์ด๋ฌํ ์ด์ ๋ค๋ก ๊ฐ์ธ์ ๋ณด์ ํฌ๊ฒ ์๊ด์๋ ์ฌ์ดํธ๋ค ์กฐ์ฐจ ์ ํ์ด ์๋ ํ์๋ก HTTPS๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค.
DNS ์๋ฒ๋ ๋ฌด์จ ์ญํ ์ ํ๋์?
DNS ์์คํ ์ ip์ฃผ์์ ๋๋ฉ์ธ ์ด๋ฆ์ ๋งคํ์ ๊ด๋ฆฌํฉ๋๋ค. DNS ์๋ฒ๋ ip ์ฃผ์์ ๋๋ฉ์ธ ๊ฐ์ ๋ณํ ์์ ์ ์ํํ๋ฉฐ, ์ฌ์ฉ์๊ฐ ๋๋ฉ์ธ ์ด๋ฆ์ ์น ๋ธ๋ผ์ฐ์ ์ ์ ๋ ฅํ๋ฉด ํด๋น ์ฌ์ฉ์๋ฅผ ์ด๋ค ์๋ฒ์ ์ฐ๊ฒฐํ ๊ฒ์ธ์ง๋ฅผ ์ ์ดํ๋ ์ญํ ์ ํฉ๋๋ค.
๋๋ฉ์ธ๊ณผ ip ์ฃผ์์ ๋ํด์ ์ค๋ช ํด๋ณด์ธ์.
์ธํฐ๋ท์ ์๋ฒ๋ค์ ์ ์ผํ๊ฒ ๊ตฌ๋ถํ ์ ์๋ ip ์ฃผ์๋ฅผ ๊ธฐ๋ณธ ์ฒด๊ณ๋ก ์ด์ฉํฉ๋๋ค. ํ์ง๋ง ip ์ฃผ์๋ ์ซ์๋ก ์ด๋ฃจ์ด์ง ์กฐํฉ์ด๋ผ ์ธ๊ฐ์ด ๊ธฐ์ตํ๊ธฐ์ ๋ฌด๋ฆฌ๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ๊ธฐ์ตํ๊ธฐ ํธํ ์ธ์ด ์ฒด๊ณ์ ๋๋ฉ์ธ ์ด๋ฆ์ ํตํด ์น ์๋ฒ์ ์ ์ํฉ๋๋ค.
๋๋ฉ์ธ์ ๊ตฌ์กฐ์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์.
๋๋ฉ์ธ์ .(dot) ๋๋ ๋ฃจํธ(root)๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋๋ฉ์ธ ์ดํ์ Inverted tree ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. 1๋จ๊ณ๋ถํฐ ์ฐจ๋ก๋๋ก TLD(Top Level Domain), SLD(Second Level Domain), SubDomain์ด๋ผ๊ณ ํฉ๋๋ค.
DNS ์๋ฒ์ Recursive Query ๊ณผ์ ์ ์ค๋ช ํด์ฃผ์ธ์.
๋ก์ปฌ DNS ์๋ฒ๊ฐ ์ฌ๋ฌ DNS ์๋ฒ๋ฅผ ์ฐจ๋ก๋๋ก (๋ฃจํธ โ com โ naver.com DNS ์๋ฒ) ์ง์ํด์ ip ์ฃผ์๋ฅผ ์ฐพ์๊ฐ๋ ๊ณผ์ ์ ๋งํฉ๋๋ค.
RoundRobin DNS ์ ๋ํด ๊ฐ๋ตํ๊ฒ ์ค๋ช ํด์ฃผ์๊ฒ ์ด์?
ํด๋ผ์ด์ธํธ์ ์น์๋ฒ IP๋ฅผ ์์ฒญํ๋ ์ฟผ๋ฆฌ๋ฅผ ๋ฐ์ ๋๋ง๋ค ์ฌ๋ฌ๋์ ์น์๋ฒ๋ฅผ ๋ฒ๊ฐ์๊ฐ๋ฉด์ ๊ฐ๋ฅด์ณ์ฆ์ผ๋ก ๋ถํ๋ฅผ ๋ถ์ฐ์ํค๋ ๋ก๋๋ฐธ๋ฐ์ฑ ๋ฐฉ๋ฒ์ด๋ค.
Round Robin DNS์ ๋ฌธ์ ์ ์ ๋ฌด์์ด ์์ ๊น์?
ํ์ํ ์๋ฒ๋งํผ ๊ณต์ธ IP ์ฃผ์ ํ์, ๊ท ๋ฑํ๊ฒ ๋ถ์ฐ๋์ง ์์ ์ ์์(ํนํ ์ค๋งํธํฐ์ ๊ฒฝ์ฐ), ์๋ฒ๊ฐ ๋ค์ด๋์ด๋ ํ์ธ ๋ถ๊ฐ ํ๊ณ , ์ ์ ๋ค์๊ฒ ํด๋น IP๋ฅผ ์ ๊ณตํ ์๋ ์์.
์ด๋ฌํ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ์ค๋ช ํด์ฃผ์ค ์ ์๋์?
Weighted Round Robin : Round Robin๊ณผ ๊ฐ์ง๋ง ๊ฐ์ค์น๋ฅผ ๋ํด์ ๋ถ์ฐ๋น์จ์ ๋ณ๊ฒฝํ๋ค. ๊ฐ์ค์น๊ฐ ํฐ ์๋ฒ์ผ ์๋ก ์์ฃผ ์ ํ๋๋ฏ๋ก ์ฒ๋ฆฌ๋ฅ๋ ฅ์ด ๋์ ์๋ฒ๋ฅผ ๊ฐ์ค์น๋ฅผ ๋๊ฒ ์ค์ ํ๋ค.
Least Connection : ์ ์์๊ฐ ๊ฐ์ฅ ์ ์ ์๋ฒ๋ฅผ ์ ํํ๋ค.
์ธํฐ๋ท์ www.naver.com
์ ์ณค์ ๋, ๋ธ๋ผ์ฐ์ ์ ๋ ๋๋ง ๊ณผ์ ์ ๋ํด ์ค๋ช
ํด์ฃผ์ธ์.
- ๋ก์ปฌ DNS ์๋ฒ์๊ฒ
www.naver.com
์ ํด๋นํ๋ ip ์ฃผ์๊ฐ ์๋์ง ๋ฌผ์ด๋ณธ๋ค. ์๋ค๋ฉด ๋ฐ๋ก ํด๋น ip๋ก ๋ฐ์์จ๋ค. - ์๋ค๋ฉด, ๋ฃจํธ DNS ์๋ฒ์ ๋ฌผ์ด๋ณธ๋ค. ์๋ค๋ฉด ๋ฐ๋ก ํด๋น ip๋ก ๋ฐ์์จ๋ค.
- ์๋ค๋ฉด,
.com
์ ๊ด๋ฆฌํ๋ DNS ์๋ฒ์ ๋ฌผ์ด๋ณธ๋ค. ์๋ค๋ฉด ๋ฐ๋ก ํด๋น ip๋ก ๋ฐ์์จ๋ค. - ์๋ค๋ฉด,
naver.com
์ ๊ด๋ฆฌํ๋ DNS ์๋ฒ์ ๋ฌผ์ด๋ณธ๋ค. ์๋ค๋ฉด ๋ฐ๋ก ํด๋น ip๋ก ๋ฐ์์จ๋ค. - ๋ชฉ์ ์ง์ ip๋ฅผ ์๊ฒ ๋์๋ค. TCP ํต์ ์ ํตํด ์์ผ์ ๊ฐ๋ฐฉํ๋ค. (์น ๋ธ๋ผ์ฐ์ โ ์๋ฒ : TCP 3 way handshaking ๋ฐฉ์์ ํตํ ์ปค๋ฅ์ ์์ฑ)
- HTTP ํ๋กํ ์ฝ๋ก ์์ฒญํ๋ค.
- ๋ผ์ฐํ ์ค ํ๋ก์ ์๋ฒ๋ฅผ ๋ง๋๋ค๋ฉด, ์น ์บ์์ ์ ์ฅ๋ ์ ๋ณด๋ฅผ response ๋ฐ๋๋ค.
- ํ๋ก์ ์๋ฒ๋ฅผ ๋ง๋์ง ๋ชปํด
www.naver.com
์ ์๋นํ๋ ์๋ฒ๊น์ง ๊ฐ๋ค๋ฉด ์๋ฒ์์ ์์ฒญ์ ๋ง๋ ๋ฐ์ดํฐ๋ฅผ response๋ก ์ ์กํ๋ค. - ๋ธ๋ผ์ฐ์ ์ loader๊ฐ ํด๋น response๋ฅผ ๋ค์ด๋ก๋ํ ์ง ๋ง์ง ๊ฒฐ์ ํ๋ค.
- ๋ธ๋ผ์ฐ์ ์ ์น ์์ง์ด ๋ค์ด๋ก๋ํ .html ํ์ผ์ ํ์ฑํ์ฌ DOM ํธ๋ฆฌ๋ฅผ ๊ฒฐ์ ํ๋ค.
- .html ํ์ฑ ์ค script ํ๊ทธ๋ฅผ ๋ง๋๋ฉด ํ์ฑ์ ์ค๋จํ๋ค.
- script ํ๊ทธ์ ์๋ ์์์ ๋ค์ด๋ก๋ํ์ฌ ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋๋ฉด ๋ค์ ํ์ฑ์ ์ฌ๊ฐํ๋ค.
- css parser๊ฐ .css ํ์ผ์ ํ์ฑํ์ฌ ์คํ์ผ ๊ท์น์ DOM ํธ๋ฆฌ์ ์ถ๊ฐํ์ฌ ๋ ๋ ํธ๋ฆฌ๋ฅผ ๋ง๋ ๋ค.
- ๋ ๋ ํธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ธ๋ผ์ฐ์ ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๊ฐ ๋ ธ๋๋ค์ด ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ค.
- ํ์ธํธํ๋ค. (๋ ๋๋ง ์์ง์ด ๋ฐฐ์น๋ฅผ ์์ํ๋ค.)
๋ธ๋ผ์ฐ์ ๊ฐ ์ ์กํ request ๋ฉ์์ง๋ฅผ ์น ์๋ฒ๊น์ง ์ ์กํ๊ณ ๊ทธ ์๋ต์ ๋ฐ๊ธฐ๊น์ง์ ๊ณผ์ ์ ์ค๋ช ํด์ฃผ์ธ์.
๋ธ๋ผ์ฐ์ โ ํ๋กํ ์ฝ ์คํ โ LAN ์ด๋ํฐ โ ์ค์์นญ ํ๋ธ โ ๋ผ์ฐํฐ โ ์ธํฐ๋ท โ ์น ์๋ฒ LAN โ ์น ์๋ฒ โ ์น ์๋ฒ ์ดํ๋ฆฌ์ผ์ด์ โ ์๋ต์ ์๋ ๊ธธ ๊ทธ๋๋ก ๋์๊ฐ
- ์ด์์ฒด์ ์ ๋ด์ฅ๋ ๋คํธ์ํฌ ์ ์ด์ฉ ์ํํธ์จ์ด์ธ ํ๋กํ ์ฝ ์คํ์ด ๋ธ๋ผ์ฐ์ ๋ก๋ถํฐ ๋ฉ์์ง๋ฅผ ๋ฐ์ต๋๋ค.
- ๋ธ๋ผ์ฐ์ ๋ก๋ถํฐ ๋ฐ์ ๋ฉ์์ง๋ฅผ ํจํท ์์ ์ ์ฅํ๊ณ , ์์ ์ฒ ์ฃผ์ ๋ฑ์ ์ ์ด ์ ๋ณด๋ฅผ ๋ง๋ถ์ฌ ํจํท์ LAN ์ด๋ํฐ์ ๋๊น๋๋ค.
- LAN ์ด๋ํฐ๋ ๋ค์ Hop์ Mac ์ฃผ์๋ฅผ ๋ถ์ธ ํ๋ ์์ ์ ๊ธฐ ์ ํธ๋ก ๋ณํ์ํค๊ณ ์ ํธ๋ฅผ LAN ์ผ์ด๋ธ์ ์ก์ถ์ํต๋๋ค.
- LAN ์ด๋ํฐ๊ฐ ์ก์ ํ ํ๋ ์์ ์ค์์นญ ํ๋ธ๋ฅผ ๊ฒฝ์ ํ์ฌ ์ธํฐ๋ท ์ ์์ฉ ๋ผ์ฐํฐ์ ๋์ฐฉํฉ๋๋ค.
- ๋ผ์ฐํฐ๋ ํจํท์ ํ๋ก๋ฐ์ด๋(ํต์ ์ฌ)์๊ฒ ์ ๋ฌํฉ๋๋ค.
- ํจํท์ ์ธํฐ๋ท์ ์ ๊ตฌ์ ์๋ ์ก์ธ์ค ํ์ (ํต์ ํ์ )์ ์ํด POP(Point Of Presence, ํต์ ์ฌ์ฉ ๋ผ์ฐํฐ)๊น์ง ์ด๋ฐ๋ฉ๋๋ค.
- ํจํท์ POP๋ฅผ ๊ฑฐ์ณ ์ธํฐ๋ท์ ํต์ฌ๋ถ๋ก ๋ค์ด๊ฐ ๋ชฉ์ ์ง๋ฅผ ํฅํด ํ๋ฌ๊ฐ๋๋ค.
- ํจํท์ ์ธํฐ๋ท ํต์ฌ๋ถ๋ฅผ ํต๊ณผํ์ฌ ๋ชฉ์ ์ง ์น ์๋ฒ์ธก์ LAN์ ๋์ฐฉํฉ๋๋ค.
- ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ ๋ฐฉํ๋ฒฝ์ด ๋์ฐฉํ ํจํท์ ๊ฒ์ฌํฉ๋๋ค. ๋ํ ์บ์ ์๋ฒ๊ฐ ์น ์๋ฒ๊น์ง ๊ฐ์ง ๋ง์ง๋ฅผ ํ๋จํฉ๋๋ค.
- ํจํท์ด ๋ฌผ๋ฆฌ์ ์ธ ์น ์๋ฒ์ ๋์ฐฉํ๋ฉด ์น ์๋ฒ์ ํ๋กํ ์ฝ ์คํ์ด ํจํท์ ์ถ์ถํ์ฌ ๋ฉ์์ง๋ฅผ ๋ณต์ํ๊ณ ์น ์๋ฒ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋๊น๋๋ค.
- ๋ฉ์์ง๋ฅผ ๋ฐ์ ์น ์๋ฒ ์ดํ๋ฆฌ์ผ์ด์ ์ ์์ฒญ ๋ฉ์์ง์ ๋ฐ๋ฅธ ๋ฐ์ดํฐ๋ฅผ ์๋ต ๋ฉ์์ง์ ๋ฃ์ด ํด๋ผ์ด์ธํธ๋ก ํ์กํฉ๋๋ค. ์๋ต ๋ฉ์์ง๋ ์๋ ๋ฐฉ์ ๊ทธ๋๋ก ๋์๊ฐ๋๋ค.
ํ๋กํ ์ฝ ์คํ์ ์ด๋ค ์ญํ ์ ํ๋์?
ํต์ ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋ ์ ์ด ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ ์ณ๋ณด๋ด๊ฑฐ๋, ๊ฐ์ข ์ํฉ์ ์กฐ์ ํ๋ ๋ฑ ๋คํธ์ํฌ ์ธ๊ณ์ ๋น์์ ๊ฐ์ ์ญํ ์ ํฉ๋๋ค.
ํ๋ก์ ์๋ฒ๋ ์ด๋ค ๊ธฐ๋ฅ์ ํ๋์?
ํ๋ก์ ์๋ฒ๋ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์์ฒญ๋ ๋ด์ฉ๋ค์ ์บ์์ ์ ์ฅํ๊ณ ๋ค์์ ๊ฐ์ ์์ฒญ์ด ๋ค์ด์จ๋ค๋ฉด ์บ์์ ์ ์ฅ๋ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ก์จ ์ ์ก ์๊ฐ์ ์ค์ผ ์ ์์ต๋๋ค.
๊ทธ๋ผ ๋ ๋ฒ ์ด์ ์์ฒญ๋ ๋ด์ฉ์ ํ๋ก์ ์๋ฒ ์บ์๋ก๋ถํฐ ๋ค์ด๋ก๋๋ฐ๊ฒ ๋ ํ ๋ฐ ํ์ด์ง์ ๊ฐ์ด ๋ฐ๋๋ค๋ฉด ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ ์๋์?
์ต์ด ์์ฒญ ์ ์ค์ ์๋ฒ์์ ์บ์ ๋ง๋ฃ ๊ธฐํ์ ์ค์ ํด์ ํ๋ก์ ์๋ฒ๋ก ๋ณด๋ด๋ฉด ๋ฉ๋๋ค. ํ๋ก์ ์๋ฒ๋ก ์ฌ์ฉ์๊ฐ ์์ฒญ์ ํ์ ๋ ์์ฒญํ ์๊ฐ์ด ๋ง๋ฃ ๊ธฐํ์ด ์ด๋ด๋ผ๋ฉด ํ๋ก์ ์๋ฒ์์ ๋ค์ด๋ก๋๋ฅผ ํ๊ณ , ๊ทธ๋ ์ง ์๋ค๋ฉด ์ค์ ์๋ฒ๋ก ๋ค์ ์์ฒญํฉ๋๋ค.
์๋ก ๋ค๋ฅธ ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ๋ ๋คํธ์ํฌ๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ๋ฌด์์ด ์์ ๊น์?
๊ฒ์ดํธ์จ์ด๋ ํ์ฌ ์ฌ์ฉ์๊ฐ ์์นํ ๋คํธ์ํฌ์์ ๋ค๋ฅธ ๋คํธ์ํฌ๋ก ์ด๋ํ๊ธฐ ์ํด ๋ฐ๋์ ๊ฑฐ์ณ์ผํ๋ ๊ฑฐ์ ์ ์๋ฏธํ๋ค. ๋ ์ปดํจํฐ ๋คํธ์ํฌ ์์์ ์๋ก ์ฐ๊ฒฐ๋๊ธฐ ์ํด์๋ ๋์ผํ ํต์ ํ๋กํ ์ฝ์ ์ฌ์ฉํด์ผ ํ๋ค. ๋ฐ๋ผ์ ํ๋กํ ์ฝ์ด ๋ค๋ฅธ ๋คํธ์ํฌ ์์ ์ปดํจํฐ์ ๋ ํ๋กํ ์ฝ์ ์ ์ ํ ๋ณํํด ์ฃผ๋ ๋ณํ๊ธฐ๊ฐ ํ์ํ๋ฐ, ๊ฒ์ดํธ์จ์ด๊ฐ ๋ฐ๋ก ์ด๋ฌํ ๋ณํ๊ธฐ ์ญํ ์ ํ๋ค.
CORS ๋ฌธ์ ๊ฐ ๋ฌด์์ด๊ณ ๊ฒฝํํด๋ณธ์ ์๋๊ฐ์?
CORS๋ Cross Origin Resource Sharing์ ์ฝ์๋ก ํด๋ผ์ด์ธํธ๊ฐ ๋๋ฉ์ธ ๋ฐ ํฌํธ๊ฐ ๋ค๋ฅธ ์๋ฒ๋ก ์์ฒญํ์ ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ณด์์์ ์ด์ ๋ก API๋ฅผ ์ฐจ๋จํ๋ ๋ฌธ์ ์ด๋ค. ์๋ก ๋ค๋ฉด ๋ก์ปฌ์์ ํด๋ผ์ด์ธํธ๋ 3000 ํฌํธ๋ก ์๋ฒ๋ 10000 ํฌํธ๋ก ์๋ฒ๋ฅผ ๋์ ์๋ ๋๋ ๋ก์ปฌ ์๋ฒ์์ ๋ค๋ฅธ ์๋ฒ๋ก ํธ์ถํ ๋ ๋ฐ์ํ๊ฒ ๋๋ค.