HTTP
- Hyper Text Transfer Protocol์ ์ฝ์ด๋ก WWW(World Wide Web)์ ๋ด์ฌ๋ ํ๋กํ ์ฝ์ด๋ค.
- ์ธํฐ๋ท์์ ์์(ํ์ผ, ์ด๋ฏธ์ง, ๋น๋์ค)์ ๊ตํํ๋ ํ๋กํ ์ฝ(์ฝ์, ๊ท์น)
- ∴ HTTP๋ ์ธํฐ๋ท์์ ํด๋ผ์ด์ธํธ์ ์น ์๋ฒ๊ฐ ํต์ (๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์)์ ์ํ ํ๋กํ ์ฝ ์ค ํ๋
- ๊ธฐ๋ณธ ํฌํธ 80
- ํ์ดํผํ ์คํธ ๋ฌธ์๋ฅผ ํํํ๊ธฐ ์ํ ํ ์คํธ ํ์์ ๋งํฌ์ ์ธ์ด๊ฐ HTML(ํ์ดํผ ํ ์คํธ ๋งํฌ์ ์ธ์ด)
- ๋ฌธ์ ๊ฐ์ ๊ฒ์ ๊ตํํ๊ธฐ ์ํ ๊ฐ๋จํ ํ๋กํ ์ฝ์ด HTTP(ํ์ดํผํ ์คํธ ์ ์ก ํ๋กํ ์ฝ)
- ๋ฌธ์๋ฅผ ๋์คํ๋ ์ดํ๊ธฐ ์ํ ํด๋ผ์ด์ธํธ๊ฐ WWW(์ฒซ๋ฒ์งธ ๋ธ๋ผ์ฐ์ )
CORS(Corss-Origin Resource Sharing)
- ๋ณด์์์ ์ด์ ๋ก ๋ธ๋ผ์ฐ์ ๋ค์ด ๋ค๋ฅธ ๋๋ฉ์ธ์๊ฒ XHR ์์ฒญ ๋ณด๋ด๋ ๊ฒ์ ์ ํํ ์ ์๋ค.
- CORS๋ ์ถ๊ฐ HTTP ํค๋๋ฅผ ์ฌ์ฉํ์ฌ, ํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ค๋ฅธ ์ถ์ฒ(๋๋ฉ์ธ, ํ๋กํ ์ฝ, ํฌํธ)์ ์์์ ์ ๊ทผํ ์ ์๋ ๊ถํ์ ๋ถ์ฌํ๋๋ก ๋ธ๋ผ์ฐ์ ์๊ฒ ์๋ ค์ฃผ๋ ์ฒด์ ์ด๋ค.
CORB(Corss Origin Read Blocking)
- CORS๋ฅผ ํ์ฉํ๋๋ผ๋, POST, PUT, DELETE ์์ฒญ์์ json์ ์ ์กํ๋ ๊ฒฝ์ฐ ์์ฒญ์ด ์ฐจ๋จ๋๋ค.
- ์ด ๊ฒฝ์ฐ์๋ json ๋์ www-form-urlencodedํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ฉด ๋๋ค.
HTTPS
- HyperText Transfer Protocol over Secure Socket Layer ์ ์ฝ์ด๋ก HTTP์ ๋ณด์์ด ๊ฐํ๋ ๋ฒ์ ์ด๋ค. HTTP over TLS, HTTP over SSL, HTTP Secure ๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค.
- ๊ธฐ๋ณธ์ ์ธ TCP/IP ์คํ์ ํตํด HTTP๋ฅผ ์ ์กํ๋ ๋์ ์ ์ถ๊ฐ์ ์ธ ์ํธํ ์ ์ก ๊ณ์ธต์ธ SSL์ ๋ง๋ค์๋ค. SSL์ ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ๊ตํ๋ ๋ฉ์์ง ์ธ์ฆ์ ์ํธํํ๊ณ ๋ณด์ฅํ๋ค. ํ์คํ๊ฐ๋์ด TLS๊ฐ ๋์๋ค.
- HTTP๋ ์์ผ ํต์ ์์ ์ผ๋ฐ ํ ์คํธ๋ฅผ ์ด์ฉํ๋ ๋์ ์, SSL์ด๋ TLS ํ๋กํ ์ฝ์ ํตํด ์ธ์ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ์ ์ ์ ํ ๋ณดํธ๋ฅผ ๋ณด์ฅํ๋ค.
- ๊ธฐ๋ณธ ํฌํธ 443
HTTP ๋ฒ์
๊ตฌ๋ถ | ๋ด์ฉ | ํน์ง |
HTTP/0.9 | ๋งค์ฐ ์ ํ์ 1. ๊ฒฝ๋ก๋ก ๊ฐ๋ฅํ ๋ฉ์๋๋ GET์ด ์ ์ผ → GET /home.html 2. HTTP ํค๋๊ฐ ์์ → HTML ํ์ผ๋ง ์ ์ก ๊ฐ๋ฅ 3. ์ํ, ์ค๋ฅ ์ฝ๋๋ ์์ → ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ HTML ํ์ผ์ ๋ฌธ์ ์ค๋ช ์ ์ฒจ๋ถํ์ฌ ๋ณด๋ด์ง) |
์ด๊ธฐ ๋ฒ์ , ์-๋ผ์ธ ํ๋กํ ์ฝ |
HTTP/1.0 | ๋ธ๋ผ์ฐ์ ์ ์๋ฒ ๋ชจ๋ ์ตํต์ฑ์ ๊ฐ์ง๋๋ก ํ์ฅ 1. ๋ฒ์ ์ ๋ณด๊ฐ ์ ์ก → GET /home.html HTTP/1.0 2. ์ํ ์ฝ๋๊ฐ ์๋ต ์์ ๋ถ๋ถ์ ๋ถ์ด ์ ์ก → ์ฑ๊ณต/์คํจ๋ฅผ ์ ์ ์์ด ๊ฒฐ๊ณผ์ ๋ํ ๋์์ ํ ์ ์์ด์ง 3. HTTP ํค๋ ๊ฐ๋ ๋์ → ์์ฒญ๊ณผ ์๋ต์ ๋ฉํ ๋ฐ์ดํฐ ์ ์ก์ ํ์ฉํ๊ณ ํ๋กํ ์ฝ์ ์ ์ฐํ๊ณ ํ์ฅ ๊ฐ๋ฅํ๋๋ก ๋ง๋ฆ → Content-Type : HTML ํ์ผ ์ธ์ ๋ค๋ฅธ ๋ฌธ์๋ค์ ์ ์ก ๊ฐ๋ฅ |
ํ์ฅ์ฑ ๋ง๋ค๊ธฐ |
HTTP/1.1(ํ์ค ํ๋กํ ์ฝ) | ๋ชจํธํจ์ ๋ช
ํํํ๊ณ ๋ง์ ๊ฐ์ ์ฌํญ์ ๋์
1. ๊ฐ์ ๋ ์ง์ ์ปค๋ฅ์ → ํธ๋์ญ์ ๋ง๋ค ์ปค๋ฅ์ ์ ๋งบ๋๋ค๋ฉด '์ปค๋ฅ์ ๋งบ๋ ์๊ฐ + slow start'์ง์ฐ๋ฐ์, ์ด๋ฐ ์ง์ฐ์ ๋ฐฉ์ง. → HTTP/1.0์ keep-alive์ ๋ฌ๋ฆฌ ๋ณ๋ ์ค์ ์ ํ์ง ์๋ ํ, ๋ชจ๋ ์ปค๋ฅ์ ์ ์ง์ ์ปค๋ฅ์ ์ผ๋ก ์ทจ๊ธํ๋ค. ํธ๋์ญ์ ์ ๋๊ธฐ ์ํด์๋ 'Connection: close'๋ฅผ ํฌํจํด์ผ ํ๋ค. → ํด๋ผ์ด์ธํธ, ์๋ฒ์ ๋ํด ๋ณ๋์ ์ง์ ์ปค๋ฅ์ ์ ๋งบ๊ณ ๊ด๋ฆฌํด์ผ ํ๋ค.
→ ๋ง์ ์์ ๋ฐ์ดํฐ๊ฐ ์์ฒญ์ด ์์ ํ ์ฒ๋ฆฌ๋๊ธฐ ์ ๊น์ง ์๋ต์ ์ ์ฒด ํฌ๊ธฐ๋ฅผ ์์ง ๋ชปํ๋ ๊ฒฝ์ฐ ์ ์ฉ 3. ์ถ๊ฐ์ ์ธ ์บ์ ์ ์ด ๋งค์ปค๋์ฆ ๋์ → ์๋ณธ ์๋ฒ์ ๋ฆฌ์์ค์ ๋นํด ์ค๋๋๊ฑฐ๋ ์ ํจํ์ง ์์ ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ ๋๋ฌธ์ ์ค์. → ์ต์ ์บ์๋ผ๊ณ ๊ฐ์ฃผ๋๋ฉด ํด๋ผ์ด์ธํธ์ ๋ฐ๋ก ์ ์ก → ์ ํจ์ฑ ๊ฒ์ฆ : 'Cache-control: max-age=N' ํค๋๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ ์ ํจ ์๋ช ์ N, ํด๋น ํค๋๊ฐ ์๋ค๋ฉด, Expires ํค๋๊ฐ ์๋์ง ๊ฒ์ฌ, ์๋ค๋ฉด, ๊ทธ ๊ฐ์์ Date ํค๋์ ๊ฐ์ ๋บ ๊ฒฐ๊ณผ๊ฐ ์ ํจ ์๋ช , ์๋ฒ๊ฐ ๋ช ์์ ์ผ๋ก ์ ํจ์ฑ์ ์ง์ ํ์ง ์์ผ๋ฉด, Last-Modified ํค๋๋ฅผ ์ฐพ๋๋ค. ์๋ค๋ฉด ์บ์์ ์ ํจ ์๋ช ์ Dateํค๋ ๊ฐ์์ Last-modifed ํค๋๊ฐ์ ๋บ ๊ฐ์ 10์ผ๋ก ๋๋ ๊ฒฐ๊ณผ๊ฐ ๋๋ค. 4. ์ธ์ด, ์ธ์ฝ๋ฉ ํน์ ํ์ ์ ํฌํจํ ์ปจํ ์ธ ํ์ ๋์ → ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ก ํ์ฌ๊ธ ๊ตํํ๋ ค๋ ๊ฐ์ฅ ์ ํฉํ ์ปจํ ์ธ ์ ๋ํ ๋์๋ฅผ ๊ฐ๋ฅ์ผ ํจ 5. Host ํค๋ →๋์ผ IP ์ฃผ์์ ๋ค๋ฅธ ๋๋ฉ์ธ์ ํธ์คํธํ๋ ๊ธฐ๋ฅ์ด ์๋ฒ ์ฝ๋ก์ผ์ด์ ์ ๊ฐ๋ฅ์ผ ํจ |
|
HTTP/2 | HTTP/1.1 ๋ฒ์ ๊ณผ ๋ช๊ฐ์ง ๊ทผ๋ณธ์ ์ฐจ์ด์ ์ ๊ฐ์ง, ์ฑ๋ฅ๊ณผ ์๋๋ฉด์์ ์๋ฑ 1. ํ ์คํธ ํ๋กํ ์ฝ๋ณด๋จ ์ด์ง ํ๋กํ ์ฝ → ํ ์คํธ ๋ช ๋ น์ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์ก ์ ์ ๋ฐ์ด๋๋ฆฌ๋ก ๋ณํ → ์ปดํฉํธํ ๋ช ๋ น ํํ → ๋คํธ์ํฌ์ ๊ณต๊ฐ ์ ์ฝํ, ์ค๋ฒ ํค๋๊ฐ ์ ์, ๋คํธ์ํฌ ๋๊ธฐ ์๊ฐ ๊ฐ์ ๋ฐ ์ฒ๋ฆฌ๋ ํฅ์ → ์๋ต ๋ถํ ๊ณต๊ฒฉ๊ณผ ๊ฐ์ ํ ์คํธ ํน์ฑ ๊ด๋ จ ๋ณด์ ๋ฌธ์ ์ ๊ฑฐ 2. Multiplexed Streams → ํ ์ปค๋ฅ์ ์ ์ฌ๋ฌ๊ฐ์ ๋ฉ์ธ์ง๋ฅผ ๋์์ ์ฃผ๊ณ ๋ฐ์ ์ ์์ → ๋จ์ผ TCP ์ฐ๊ฒฐ์ ํตํด ์ฌ๋ฌ ๋ฐ์ดํฐ ์์ฒญ์ ๋ณ๋ ฌ๋ก ๋ณด๋, ์ถ๊ฐ ์๋ณต ์๊ฐ (RTT)๊ฐ ์ค์ด๋ค์ด ์ต์ ํ ์์ด ๋น ๋ฅด๊ฒ ๋ก๋ํ ์ ์๊ณ , ๋๋ฉ์ธ ์ค๋ฉ์ด ํ์ํ์ง ์์. → ๋ณ๋ ฌ ์์ฒญ์ด ๋์ผํ ์ปค๋ฅ์ ์์์ ๋ค๋ฃจ์ด์ง ์ ์๋ ๋ค์คํ ํ๋กํ ์ฝ. → ์์๋ฅผ ์ ๊ฑฐํด์ฃผ๊ณ HTTP/1.x ํ๋กํ ์ฝ์ ์ ์ฝ์ฌํญ์ ๋ง์์ค 3. Header Compression → Header ์ ๋ณด๋ฅผ HPACK ์์ถ๋ฐฉ์์ ์ด์ฉํ์ฌ ์์ถ์ ์ก์ ์ก๋ ๋ฐ์ดํฐ์ ๋ถ๋ช ํ ์ค๋ณต๊ณผ ์ค๋ฒํค๋๋ฅผ ์ ๊ฑฐ → ์ฐ์๋ ์์ฒญ ์ฌ์ด์ ๋งค์ฐ ์ ์ฌํ ๋ด์ฉ์ผ๋ก ์กด์ฌํ๋ ํค๋๋ค์ ์์ถ์ํด 4. Server Push → ์๋ฒ์ ์ฌ์ ์ ํด๋ผ์ด์ธํธ ์บ์๋ฅผ ์๋ฒ ํธ์๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋งค์ปค๋์ฆ์ ์ํด ํ์ํ๊ฒ๋ ๋ฐ์ดํฐ๋ก ์ฑ์๋ฃ๋๋ก ํ์ฉํจ์ผ๋ก์จ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฌ์ฉํ ์ ์๊ณ , ํธ์๋ ์์์ ๋ค์คํํ ์ ์์ผ๋ฉฐ, ์ฐ์ ์์๋ฅผ ์ง์ ํ ์ ์๋ค. |
|
์ฐจ์ธ๋ HTTP/2 | ์๋ก์ด ํ์ฅ์ฑ(ํ์ฅ์ฑ์ ๋ฐ์ ) 1. Alt-Svc : ์๋ฆฌํ CDN ๋งค์ปค๋์ฆ → ์ ๋ถ ์ฆ๋ช ์ ๊ฐ๋ ๊ณผ ์ฃผ์ด์ง ์์์ ์์น๋ฅผ ๋ถ๋ฆฌ 2. Client_hints ๋์ → ๋ธ๋ผ์ฐ์ ํน์ ํด๋ผ์ด์ธํธ๊ฐ ์๊ตฌ์ฌํญ์ด๋ ์๋ฒ์ ํ๋์จ์ด ์ ์ฝ์ฌํญ์ ๊ดํ ์ ๋ณด๋ฅผ์ฌ์ ์ ๋ฏธ๋ฆฌ ์ฃผ๊ณ ๋ฐ์ ์ ์๊ฒ ๋จ 3. Cookie ๋ด์ ๋ณด์ ๊ด๋ จ ์ ๋์ฌ ๋์ → ๋ณด์ ์ฟ ํค๊ฐ ๋ณ๊ฒฝ๋์ง ์์๋ค๋ ๊ฒ์ ๋ณด์ฅ |
|
HTTP/3 | QUIC ์ฌ์ฉ - UDP 1. QUIC๋ผ๋ ํ๋กํ ์ฝ์์์ ๋์๊ฐ๋ HTTP 2. ์คํธ๋ฆผ์ ๋์ผ QUIC ์ฐ๊ฒฐ์ ๊ณต์ ํ๋ฏ๋ก ์ ์คํธ๋ฆผ์ ๋ง๋ค ๋ ์ถ๊ฐ์ ์ธ ํธ๋์์ดํฌ๋ ์ฌ๋ก์ฐ ์คํํธ๊ฐ ํ์ํ์ง ์์ 3. QUIC ์คํธ๋ฆผ์ ๋ ๋ฆฝ์ ์ผ๋ก ์ ๋ฌ๋์ด ์ด๋ค ์คํธ๋ฆผ์ ํจํท ์์ค์ด ์๋ ๊ฒฝ์ฐ์๋ ๋ค๋ฅธ ์คํธ๋ฆผ์ ์ํฅ์ด ์์. → QUIC ํจํท์ด UDP ๋ฐ์ดํฐ๊ทธ๋จ ์์ ์บก์ํ๋์ด ์๊ธฐ ๋๋ฌธ 4. QUIC๋ TCP์ ์ ํ์ ์ธ 3๋ฐฉํฅ ํธ๋์์ดํฌ์ TLS 1.3์ ํธ๋์์ดํฌ๋ฅผ ๊ฒฐํฉํ๋ค. 5. HTTP/2์ ์๋ ํ๋ ์, ์คํธ๋ฆผ, ,๋ฉ์์ง ๊ตฌ์กฐ์ ๊ธฐ์ ๋ค์ ๊ทธ๋๋ก ์น๊ณ, ๋ช ์นญ๋ง HQframe, QPACK๋ฑ์ผ๋ก ๋ณ๊ฒฝ |
|
- ์ฌ๋ก์ฐ ์คํํธ(Slow Start)
- ํฉ ์ฆ๊ฐ/๊ณฑ ๊ฐ์ ๋ฐฉ์(AIMD)์ ์ฒ์์ ์ ์ก ์๋๋ฅผ ์ฌ๋ฆฌ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๋๋ฌด ๊ธธ๋ค.
- ์ฒ์์ ํจํท์ ํ๋์ฉ ๋ณด๋ด๊ณ ๋ฌธ์ ์์ด ๋์ฐฉํ๋ฉด ์๋์ฐ ํฌ๊ธฐ๋ฅผ 1์ฉ ์ฆ๊ฐ์์ผ๊ฐ๋ฉฐ ์ ์กํ๋ค. ๋ง์ฝ ์ ์ก์ ์คํจํ๋ฉด ์๋์ฐ ํฌ๊ธฐ๋ฅผ ๋ฐ์ผ๋ก ์ค์ธ๋ค.
- ์๋์ฐ ํฌ๊ธฐ๋ฅผ ๋๋ฌด ์กฐ๊ธ์ฉ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋คํธ์ํฌ์ ๋ชจ๋ ๋์ญ์ ํ์ฉํ์ฌ ์ ๋๋ก ๋ ์๋๋ก ํต์ ํ๊ธฐ ๊น์ง ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฐ๋ค.
- ๋๋ฆฐ ์์๋ฐฉ์์ ํฉ ์ฆ๊ฐ/๊ณฑ ๊ฐ์ ๋ฐฉ์๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ํจํท์ ํ๋์ฉ ๋ณด๋ด๋ ๊ฒ๋ถํฐ ์์ํ์ง๋ง ํจํท์ด ๋ฌธ์ ์์ด ๋์ฐฉํ๋ฉด ๊ฐ๊ฐ์ ACK ํจํท๋ง๋ค ์ฐฝ ํฌ๊ธฐ๋ฅผ 1์ฉ ๋๋ ค ํ ์ฃผ๊ธฐ๊ฐ ์ง๋๋ฉด ์ฐฝ ํฌ๊ธฐ๊ฐ 2๋ฐฐ๋ก ๋๋ค. ๋ฐ๋ผ์ ์ ์ก ์๋๊ฐ ์ง์ ํจ์ ๊ผด๋ก ์ฆ๊ฐํ๋ค.
- ๋์ ์ ํผ์ก ํ์์ด ๋ฐ์ํ๋ฉด ์ฐฝ ํฌ๊ธฐ๋ฅผ 1๋ก ๋จ์ด๋จ๋ฆฐ๋ค. ํ๋ฒ ํผ์กํ์์ด ๋ฐ์ํ๊ณ ๋๋ฉด ๋คํธ์ํฌ ์์ฉ๋์ ์์ํ ์ ์์ผ๋ฏ๋ก ํผ์ก ํ์์ด ๋ฐ์ํ๋ ์ฐฝ ํฌ๊ธฐ์ ์ ๋ฐ(์๊ณ์ )๊น์ง๋ ์ด์ ์ฒ๋ผ ์ง์ ํจ์ ๊ผด๋ก ์ฐฝ ํฌ๊ธฐ๋ฅผ ์ฆ๊ฐ์ํค๊ณ ๊ทธ ์ดํ๋ถํฐ๋ ์๋งํ๊ฒ 1์ฉ ์ฆ๊ฐ์ํจ๋ค.
- TCP ๋์ ๋ฐฉ์์ด ์ฒ์์ ์ต๋ํ ๋ณด๋ผ ์ ์๋ ๋งํผ์ ํจํท์ ๋ณด๋ด๋ ๊ฒ์ผ๋ก ์์ํ๊ณ , ๋๋ฆฐ ์์์ ์ด์ ๋ฌ๋ฆฌ ์ฐฝ ํฌ๊ธฐ๋ฅผ 1์์๋ถํฐ ์์ํ์ฌ ์ง์ํจ์ ๊ผด๋ก ์ฆ๊ฐ์์ผ๊ฐ๋ฉด์ ๋คํธ์ํฌ์ ์์ฉ๋์ ๊ฐ์งํ๋ค. ํฉ ์ฆ๊ฐ/๊ณฑ ๊ฐ์ ๋ฐฉ์๋ณด๋ค ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด์ง๋ง ํผ์กํ ์ํฉ์ด ๋ ๊ฒฝ์ฐ์ ํ์์์ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ๋์ ํฐ ์๊ฐ์ ๊ณต๋ฐฑ์ด ์๋ค.
- ํฉ ์ฆ๊ฐ/๊ณฑ ๊ฐ์ ๋ฐฉ์(AIMD)์ ์ฒ์์ ์ ์ก ์๋๋ฅผ ์ฌ๋ฆฌ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๋๋ฌด ๊ธธ๋ค.
- ๋๋ฉ์ธ ์ค๋ฉ(Domain sharding)
- resource ๋ฅผ ์ฌ๋ฌ ๊ฐ์ domain ์ผ๋ก ๋๋์ด ์ ์ฅํ์ฌ, page load time ์ ํฅ์์ํค๋ ์ผ์ข ์ ํธ๋ฆญ ํน์ ๋ฐฉ๋ฒ์ด๋ค. ์ฌ๋ฌ ๊ฐ์ domain ์ผ๋ก ๋๋์ด์ง ๋ฆฌ์์ค๋ฅผ ๋ค์ด๋ฐ๊ธฐ ๋๋ฌธ์ browser ๋ ๋ ๋ง์ ๋ฆฌ์์ค๋ฅผ ํ๋ฒ์ ๋ ๋ง์ด ๋ฐ์ ์ ์๋ค.
- QUIC(Quick UDP Internet Connections)
- TCP๋ฅผ ์ฌ์ฉํ๋ ์ฐ๊ฒฐ ์งํฅ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ์ฑ๋ฅ์ ๊ฐ์
- UDP๋ฅผ ๊ฒฝ์ ํ์ฌ 2๊ฐ์ ์ข ๋จ์ ๊ฐ ์๋ง์ ๋ค์คํ ์ฐ๊ฒฐ์ ํ๋ฆฝํจ์ผ๋ก์จ ์ด๋ฅผ ๋ฌ์ฑ
- HTTP/2์ ๋ค์คํ ์ฐ๊ฒฐ๊ณผ ํ๋ ฅํ์ฌ ๋์ํ๋ฉฐ ์ฌ๋ฌ ๋ฐ์ดํฐ ์คํธ๋ฆผ๋ค์ด ๊ฐ๋ณ์ ์ผ๋ก ๋ชจ๋ ์ข
๋จ์ ์ ๋๋ฌํ ์ ์๊ณ ๋ค๋ฅธ ์คํธ๋ฆผ์ ์๋ฐํ๋ ํจํท ์์ค์ ๋
๋ฆฝ์ ์ด๋ค.
- ๋ฐ๋ฉด, TCP๋ก ํธ์คํ ๋๋ค๋ฉด, ์ด๋ค TCP ํจํท์ด๋ผ๋ ์ง์ฐ๋๊ฑฐ๋ ์์ค๋ ๊ฒฝ์ฐ ๋ชจ๋ ๋ค์คํ ์คํธ๋ฆผ์ ๋ํด HOL-Blocking ์ง์ฐ ๋ฌธ์ ๊ฐ ๋ฐ์
- ํผ์ก ํํผ๋ฅผ ์ํด ๊ฐ ๋ฐฉํฅ์์ ๋ฐ์ํ ์ ์๋ ์ฐ๊ฒฐ ๋ฐ ์ ์ก ๋ ์ดํด์์ ๋์ญํญ์ ๊ฐ์
- ๋ ์ข ๋จ์ ์ ํผ์ก ์ ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ปค๋ ๊ณต๊ฐ์ด ์๋ ์ฌ์ฉ์ ๊ณต๊ฐ ์์ผ๋ก ๋ฐฐ์น์ํด์ผ๋ก์จ ์๊ณ ๋ฆฌ์ฆ์ ๋ ๋น ๋ฅด๊ฒ ๊ฐ์ ์ํฌ ์ ์๋ค.
- ์ค๋ฅ ์์ธก ์ ์ ๋ฐฉ ์ค๋ฅ ์ ์ (FEC)์ ํจ๊ป ์ฑ๋ฅ์ ์ถ๊ฐ์ ์ผ๋ก ๊ฐ์ ์ํฌ ์ ์๋ค.
- FEC() : ๋ณด๋ด๋ ์ฌ๋์ด ์ ์ก์ ์์ ์ค๋ฅ ์ ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ธ์ฝ๋ฉ, ์ก์ ์ธก์์ ๋ฌธ์๋ ํ๋ ์์ ์ค๋ฅ ๊ฒ์ถ์ ์ํ ํ์ฅ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํด ์ ์กํด ์์ ์ธก์์ ์ด๋ฅผ ํ์ฉํด ๋ฐ์ดํฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋์ง ๊ฒ์ถํ๊ณ ์์ ํ๋ค.
- ARQ(ํ๋ฐฉ ์ค๋ฅ ์ ์ ) : ์์ ๋๋ ๋ชจ๋ ๋ฐ์ดํฐ ๋ธ๋ก์ ์ค๋ฅ ์ ์ ์ ์ฌ์ฉํ์ฌ ๊ฒ์ฌ๋๋ฉฐ ๊ฒ์ฌ๊ฐ ์คํจํ๋ฉด ๋ฐ์ดํฐ ์ฌ์ ์ก์ ์์ฒญ, ์ค์๊ฐ ์ฒ๋ฆฌ์์๋ ๊ณค๋ํจ, ํจ๋ฆฌํฐ ๊ฒ์ฌ, CRC ๋ฑ์ ์ด์ฉํด ์ค๋ฅ ๊ฒ์ถ
- TCP๋ฅผ ์ฌ์ฉํ๋ ์ฐ๊ฒฐ ์งํฅ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ์ฑ๋ฅ์ ๊ฐ์
UDP์ TCP ๋น๊ต
TCP๋ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์๋จ ๊ฐ์ ๋จผ์ ์ฐ๊ฒฐ์ ์ค์ (์ฐ๊ฒฐ์ 3Way-Handshake, ๋์ ๋ 4Way-Handshake)ํ๊ณ ์ค์ ๋ ์ฐ๊ฒฐ์ ํตํด ์๋ฐฉํฅ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ์ง๋ง,
UDP๋ ์ฐ๊ฒฐ์ ์ค์ ํ์ง ์๊ณ ์์ ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ค๋น๋ฅผ ํ์ธํ๋ ๋จ๊ณ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๋จ๋ฐฉํฅ์ผ๋ก ์ ๋ณด๋ฅผ ์ ์กํ๋ค.
- ์ ๋ขฐ์ฑ - TCP๋ ๋ฉ์์ง ์์ ์ ํ์ธํ์ง๋ง UDP๋ ์์ ์๊ฐ ๋ฉ์์ง๋ฅผ ์์ ํ๋์ง ํ์ธํ ์ ์๋ค.
- ์์ ์ ๋ ฌ - TCP์์๋ ๋ฉ์์ง๊ฐ ๋ณด๋ด์ง ์์๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด ์ฌ์กฐ๋ฆฝํ์ง๋ง UDP๋ ๋ฉ์์ง ๋์ฐฉ ์์๋ฅผ ์์ธกํ ์ ์๋ค.
- ๋ถํ - UDP๊ฐ TCP๋ณด๋ค ์๋๊ฐ ์ผ๋ฐ์ ์ผ๋ก ๋น ๋ฅด๊ณ ์ค๋ฒํค๋๊ฐ ์ ๋ค.
์ฐธ๊ณ
- developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP
- lalwr.blogspot.com/2019/01/http1-vs-http2.html
- goldfishhead.tistory.com/26
- velog.io/@leeinae/HTTP-Connection%EC%9D%98-%EA%B4%80%EB%A6%AC-TCP-%EC%A7%80%EC%97%B0-%EB%B0%A9%EC%A7%80
- developer.mozilla.org/ko/docs/Web/HTTP/Caching
- ko.wikipedia.org/wiki/%EC%82%AC%EC%9A%A9%EC%9E%90_%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B7%B8%EB%9E%A8_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C
- ko.wikipedia.org/wiki/QUIC
- ko.wikipedia.org/wiki/%EC%98%A4%EB%A5%98_%EA%B2%80%EC%B6%9C_%EC%A0%95%EC%A0%95
- velog.io/@mu1616/TCPIP-%ED%98%BC%EC%9E%A1-%EC%A0%9C%EC%96%B4
- www.zerocho.com/category/NodeJS/post/5a6c347382ee09001b91fb6a
- developer.mozilla.org/ko/docs/Web/HTTP/CORS
'๐CS > Web' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
XSS(Cross-site Scripting) ๊ณต๊ฒฉ (0) | 2021.04.25 |
---|---|
[Web] param vs query vs body (2) | 2021.04.18 |
[Web] CORS(Cross-Origin Resource Sharing) (0) | 2021.04.18 |
[Web] ์ฟ ํค์ ์ธ์ (0) | 2021.04.04 |
[Web] REST & RESTful (0) | 2021.04.03 |
๋๊ธ