-
๋คํธ์ํฌ ์ฌํ ๊ณผ์ Topic/CS 2022. 2. 15. 13:47๋ฐ์ํ
IP & IP Packet ๐ฅ
์ธํฐ๋ท ๋ด๋ถ์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ํต์ ํ๋ ๋ฒ
IP(์ธํฐ๋ท ํ๋กํ ์ฝ) ์ฃผ์๋ฅผ ์ปดํจํฐ์ ๋ถ์ฌํ์ฌ ์ด๋ฅผ ์ฌ์ฉ
ํจํท ๋จ์๋ก ์ ์ก์ ํ๋ฉด ๋ ธ๋๋ค์ ๋ชฉ์ ์ง IP์ ๋๋ฌํ๊ธฐ ์ํด ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ
IP
์ง์ ํ IP ์ฃผ์(IP Address)์ ํจํท(Packet)์ด๋ผ๋ ํต์ ๋จ์๋ก ๋ฐ์ดํฐ ์ ๋ฌ
IP Packet
pack + bucket์ ํฉ์ฑ์ด ํจํท!
์ฐ์ฒด๊ตญ ์ก์ฅ์ฒ๋ผ ์ ์ก ๋ฐ์ดํฐ๋ฅผ ๋ฌด์ฌํ ์ ์กํ๊ธฐ ์ํด ์ถ๋ฐ์ง IP, ๋ชฉ์ ์ง IP์ ๊ฐ์ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์๋ค.IP์ ํ๊ณ์
๋น์ฐ๊ฒฐ์ฑ
ํจํท์ ๋ฐ์ ๋์์ด ์๊ฑฐ๋ ์๋น์ค ๋ถ๋ฅ ์ํ์ฌ๋ ํจํท์ ์ ์กํด๋ฒ๋ฆฐ๋ค..
๋น์ ๋ขฐ์ฑ
์ค๊ฐ์ ํจํท์ด ์ฌ๋ผ์ง ์ ์๋ค!
ํจํท์ ์์๋ฅผ ๋ณด์ฅํ ์ ์๋ค.
Ex. ์ ๋ฌ ๋ฐ์ดํฐ์ ์ฉ๋์ด ํฐ ๊ฒฝ์ฐ ํจํท ๋จ์๋ก ๋๋ ์ ๋ฌ
-> ์๋ก ๋ค๋ฅธ ๋ ธ๋ ํตํด ์ ๋ฌ๋๋ฉฐ ์๋๋์ง ์์ ์์๋ก ํจํท์ด ๋์ฐฉํด๋ฒ๋ฆด ์ ์๋ค.TCP vs UDP ๐ฅ
Ex. ์ฑํ ํ๋ก๊ทธ๋จ์์ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ๊ฒฝ์ฐ
- HTTP ๋ฉ์์ง๊ฐ ์์ฑ๋จ
- Socket ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์ ๋ฌ
- IP ํจํท์ ์์ฑํ๊ธฐ ์ TCP ์ธ๊ทธ๋จผํธ๋ฅผ ์์ฑ
- ์์ฑ๋ TCP/IP ํจํท์ LAN ์นด๋์ ๊ฐ์ ๋ฌผ๋ฆฌ์ ๊ณ์ธต์ ์ง๋๊ธฐ ์ํด ์ด๋๋ท ํ๋ ์ ์ํฌ์ ํฌํจ๋์ด ์๋ฒ๋ก ์ ์กTCP
์ ์ก ์ ์ด ํ๋กํ ์ฝ (Transmission Control Protocol )
์ฐ๊ฒฐ์งํฅํ - 3 way handshake
ํด๋ผ์ด์ธํธ -> ์๋ฒ / ์ ์ ์์ฒญํ๋ SYN ํจํท ์ ์ก
์๋ฒ -> ํด๋ผ์ด์ธํธ / ํด๋ผ์ด์ธํธ์๊ฒ SYN + ACK ์ค์ ๋ ํจํท ๋ฐ์ก
ํด๋ผ์ด์ธํธ -> ์๋ฒ / ์๋ฒ์๊ฒ ACK ๋ณด๋( ์ฐ๊ฒฐ ์ฑ๋ฆฝ, ๋ฐ์ดํฐ ์ ์ก ๊ฐ๋ฅ )IP ํจํท์ ํ๊ณ์ธ ๋น์ฐ๊ฒฐ์ฑ์ ๋ณด์
-> ๋ฐ์ดํฐ ์ ์ก์ด ์ฑ๊ณต์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋ค๋ฉด ์ด์ ๋ํ ์๋ต์ ๋๋ ค์ค๋ค.IP ํจํท์ ๋น์ ๋ขฐ์ฑ์ ๋ณด์
-> ํจํท์ด ์์๋๋ก ๋์ฐฉํ์ง ์๋๋ค๋ฉด TCP ์ธ๊ทธ๋จผํธ์ ์๋ ์ ๋ณด๋ฅผ ํ ๋๋ก ๋ค์ ํจํท ์ ์ก์ ์์ฒญํ๋ค.UDP
์ฌ์ฉ์ ๋ฐ์ดํฐ๊ทธ๋จ ํ๋กํ ์ฝ
IP ํ๋กํ ์ฝ์ PORT, ์ฒดํฌ์ฌ ํ๋ ์ ๋ณด๋ง ์ถ๊ฐ๋ ๋จ์ํ ํ๋กํ ์ฝ (์ฒดํฌ์ฌ: ์ค๋ณต ๊ฒ์ฌ์ ํ ํํ)
HTTP3 -> UDP๋ฅผ ์ฌ์ฉ, ์ด๋ฏธ ์ฌ๋ฌ ๊ธฐ๋ฅ์ด ๊ตฌํ๋ TCP๋ณด๋ค๋ ํฐ ๋ํ์ง์ฒ๋ผ ์ปค์คํฐ๋ง์ด์ง์ด ๊ฐ๋ฅํ๋ค๋ ์ฅ์
TCP UDP ์ฐ๊ฒฐ์งํฅํ ํ๋กํ ์ฝ ๋น ์ฐ๊ฒฐ์งํฅํ ํ๋กํ ์ฝ ์ ์ก ์์ ๋ณด์ฅ ์ ์ก ์์ ๋ณด์ฅ X ๋ฐ์ดํฐ ์์ ์ฌ๋ถ ํ์ธ ๋ฐ์ดํฐ ์์ ์ฌ๋ถ ํ์ธ X ์ ๋ขฐ์ฑ ๐๐ป ์๋ ๐๐ป ์ ๋ขฐ์ฑ ๐๐ป ์๋ ๐๐ป ์ข์ ๊ธฐ๋ฅ์ด ๋ค ๋ค์ด์๋ ๋ฌด๊ฑฐ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ (TCP) vs ํ์ํ ๊ธฐ๋ฅ๋ง ๋ค์ด์๋ ๊ฐ๋ฒผ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ (UDP)
HTTP ๐ป
HTTP/1.1, HTTP/2๋ TCP ๊ธฐ๋ฐ์ด๋ฉฐ HTTP/3์ UDP ๊ธฐ๋ฐ ํ๋กํ ์ฝ
HTTP์ ํน์ง
๋จ์ํ๊ณ ํ์ฅ ๊ฐ๋ฅํ๋ค.
ํด๋ผ์ด์ธํธ ์๋ฒ ๊ตฌ์กฐ
๋ฌด์ํ์ฑ(Stateless)์ํ ์ ์ง(Stateful):
์ ์A๊ฐ ๊ณ ๊ฐ์ ์ํ๋ฅผ ๊ธฐ์ตํ๊ณ ์๋ ๊ฒ
->ํญ์ ๊ฐ์ ์๋ฒ๊ฐ ์๋ตํด์ผ -> ์๋ฒ์ ์ฅ์ ๊ฐ ๋๋ค๋ฉด ์ ์ง๋๋ ์ํ์ ๋ณด ๋ ๋ผ๊ฐ, ์ฒ์๋ถํฐ ์๋ฒ์ ๋ค์ ์์ฒญํด์ผ ํจ๋ฌด์ํ(Stateless):
(๊ณ ๊ฐ์ด ์์ ์ ์ฃผ๋ฌธ์ ๊ธฐ์ตํ๊ณ ์๋ค๋ฉด) ์ค๊ฐ์ ๋ค๋ฅธ ์ ์์ผ๋ก ๋ฐ๋์ด๋ ์ฃผ๋ฌธ์ ํ ์ ์๋ค.
๊ณ ๊ฐ(ํด๋ผ์ด์ธํธ ์์ฒญ)์ด ์ฆ๊ฐํ๋๋ผ๋ ๋ฌด์ํ์์๋ ์ ์(์๋ฒ)์ ๋๊ฑฐ ํฌ์ ํ ์ ์๋ค
-> ์๋ต ์๋ฒ๋ฅผ ์ฝ๊ฒ ๋ฐ๊ฟ ์ ์๋ค -> ๋ฌดํํ ์๋ฒ ์ฆ์ค ๊ฐ๋ฅํ๊ณ :
๋ก๊ทธ์ธ์ด ํ์์๋ ๋จ์ํ ์๋น์ค ์๊ฐ ํ๋ฉด -> ๋ฌด์ํ๋ก ์ค๊ณ๊ฐ๋ฅ
๋ก๊ทธ์ธ์ด ํ์ํ ์๋น์ค -> ์ ์ ์ ์ํ ์ ์งํด์ผ ํจ(๋ธ๋ผ์ฐ์ ์ฟ ํค,์๋ฒ์ธ์ ,ํ ํฐ ๋ฑ ์ด์ฉ ์ํ ์ ์ง)๋น์ฐ๊ฒฐ์ฑ(Connectionless)
์์ฒญ์ ์ฃผ๊ณ ๋ฐ์ ๋๋ง ์ฐ๊ฒฐ์ ์ ์งํ๊ณ ์๋ต์ ์ฃผ๊ณ ๋๋ฉด TCP/IP ์ฐ๊ฒฐ์ ๋์ -> ์ต์ํ์ ์์์ผ๋ก ์๋ฒ ์ ์ง
HTTP ์ง์ ์ฐ๊ฒฐ(Persistant Connections)
์ฐ๊ฒฐ์ด ์ด๋ฃจ์ด์ง๊ณ ๋ ๋ค ๊ฐ๊ฐ์ ์์๋ค์ ์์ฒญํ๊ณ ๋ชจ๋ ์์์ ๋ํ ์๋ต์ด ๋์์จ ํ์ ์ฐ๊ฒฐ ์ข ๋ฃHTTP ๋ฉ์ธ์ง
HTTP ๋ฉ์์ง๋ ํค๋์ ๋ฐ๋๋ก ๊ตฌ๋ถ
HTTP body: message body(=payload) ํตํด ํํ ๋ฐ์ดํฐ ์ ๋ฌ
HTTP header : ํํ ๋ฐ์ดํฐ๋ฅผ ํด์ํ ์ ์๋ ์ ๋ณด ์ ๊ณต( HTTP ์ ์ก์ ํ์ํ ๋ชจ๋ ๋ถ๊ฐ์ ๋ณด)ํํํค๋
์์ฒญ, ์๋ต ๋ ๋ค ์ฌ์ฉ
Content-Type : ํํ ๋ฐ์ดํฐ์ ํ์
Content-Encoding : ํํ ๋ฐ์ดํฐ์ ์์ถ ๋ฐฉ์
Content-Language : ํํ ๋ฐ์ดํฐ์ ์์ฐ ์ธ์ด
Content-Length : ํํ ๋ฐ์ดํฐ์ ๊ธธ์ด์ฝํ ์ธ ํ์
๋์ผํ URI์์ ๋ฆฌ์์ค์ ์๋ก ๋ค๋ฅธ ๋ฒ์ ์ ์๋ธํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฉ์ปค๋์ฆ - ๊ฐ์ฅ ์ ๋ง๋ ํ๋ ์ ํ ์ด์ ์ ๊ฒฐ์
ํ์ํค๋
-์์ฒญ์์๋ง ์ฌ์ฉ์บ์(cache)
๋ฐ์ดํฐ๋ ๊ฐ์ ๋ฏธ๋ฆฌ ๋ณต์ฌํด ๋๋ ์์ ์ฅ์์บ์์ ์ ๊ทผ ์๊ฐ์ ๋นํด ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทผํ๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ๋ ๊ฐ์ ๋ค์ ๊ณ์ฐํ๋ ์๊ฐ์ ์ ์ฝํ๊ณ ์ถ์ ๊ฒฝ์ฐ์ ์ฌ์ฉ
์์ฒญ - ์๋ต์ ๋ฐ์์ ๋ ๋ธ๋ผ์ฐ์ ์บ์์ ํด๋น ์๋ต ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ฉฐ ์ด๋ ์ง์ ํ ์๊ฐ๋์ ์ ํจ์บ์ ์ ํจ ์๊ฐ ์ด๊ณผ : ๋ค์ ์๋ฒ์ ์์ฒญ์ํ๊ณ ์ง์ ์๊ฐ๋์ ์ ํจํ ์ด๋ฏธ์ง๋ฅผ ์๋ต๋ฐ์ -> ๋คํธ์ํฌ ๋ค์ด๋ก๋
๊ฒ์ฆ ํค๋(Validator), ์กฐ๊ฑด๋ถ ์์ฒญ ํค๋
1. Last Modified & If-Modified-Since
Last Modified : ๋ฐ์ดํฐ๊ฐ ๋ง์ง๋ง์ผ๋ก ์์ ๋ ์๊ฐ์ ๋ณด๋ฅผ ํค๋์ ํฌํจ
If-Modified-Since : ์บ์ ์ ํจ์๊ฐ ์ด๊ณผ๋๋๋ผ๋ ์กฐ๊ฑด๋ถ ์์ฒญ2. ETag & If-None-Match
3. ํ๋ก์ ์บ์
ํ๊ตญ์ ์๋ ํด๋ผ์ด์ธํธ์์ ํน์ ๋ฐ์ดํฐ๊ฐ ํ์ํ ์ํฉ์ธ๋ฐ ํด๋น ๋ฐ์ดํฐ์ ์ ์๋ฒ๊ฐ ๋ฏธ๊ตญ์ ์๋ค๊ณ ๊ฐ์ (ex-youtube)
ํด๋ผ์ด์ธํธ์ ์ ์๋ฒ ์ฌ์ด์ ์์นํ ํ๋ก์ ์บ์ ์๋ฒ๋ฅผ ๋์
private ์บ์ : ํด๋ผ์ด์ธํธ์์ ์ฌ์ฉํ๊ณ ์ ์ฅํ๋ ์บ์ํ๋ก์ ์บ์
public ์บ์ : ์๋ฒ์ ์บ์ํด๋ผ์ด์ธํธ๊ฐ ์บ์๋ฅผ ์ ์ฉํ์ง ์์๋ ์์๋ก ๋ธ๋ผ์ฐ์ ๊ฐ ์บ์๋ฅผ ์ ์ฉํ๋ ๊ฒฝ์ฐ
๋ฐ์ํ'Topic > CS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
OSI 7๊ณ์ธต | TCP/IP 4๊ณ์ธต ๋น๊ต (0) 2022.04.01 ์นํ์ด์ง๊ฐ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๋ ๊ณผ์ (0) 2022.03.28 SSR vs. CSR (feat. SEO) (0) 2022.03.23 ์ด์์ฒด์ , ํ๋ก์ธ์ค, ์ค๋ ๋, ๋ฉํฐ ์ค๋ ๋, ๊ฐ๋น์ง ์ปฌ๋ ์ (0) 2022.02.11 ์ปดํจํฐ ๊ณตํ ๊ธฐ์ด, ๋ฌธ์์ด, ๊ทธ๋ํฝ, ์ด์์ฒด์ (0) 2022.02.10