HTTP/3.0์ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ
HTTP/2.0์ TCP ์์ฒด์ HOLB ๋ฌธ์ ์ ์ด๊ธฐ ์ฐ๊ฒฐ ์ค์ ์ผ๋ก ์ธํ ์๊ฐ ์ง์ฐ์ด ๋ฐ์ํ๋ค.
ย
TCP์ HOLB ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ์์ธ
TCP์ ์ฐ์์ฑ๊ณผ ์์ ๋ณด์ฅ ๊ธฐ๋ฅ ๋๋ฌธ์ ์ก์ ์ธก์์ ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ์กํ๊ณ ์์ ์ธก์ ํจํท์ ์์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฌ์กฐ๋ฆฝํด์ผ ํ๋ค.
ย
์์ ๋ณด์ฅ ๊ธฐ๋ฅ์ผ๋ก ์ธํด ํจํท ์ง์ฐ๊ณผ ์์ค์ด ๋ฐ์ํ๋ค.
- ํจํท ์ง์ฐ: ํ ํจํท์์ ์ง์ฐ์ด ๋ฐ์ํ๋ฉด ๊ทธ ์ดํ์ ๋ชจ๋ ํจํท๋ ์ง์ฐ๋๋ค.
- ํจํท ์์ค: ์ค๊ฐ์ ํจํท์ด ์์ค๋๋ฉด ์ดํ์ ํจํท์ ์ฌ์ ์ก์ ๊ธฐ๋ค๋ ค์ผ ํ๋ค.
ย
ํจํท ์ง์ฐ๊ณผ ์์ค์ด ๋ฐ์์ผ๋ก ์ธํด TCP์ HOLB ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.
ย
TCP ์ฐ๊ฒฐ๊ณผ TLS handshake
TCP๋ก ํต์ ํ๊ธฐ ์ํด ์ฐ์ 3-way handshake ๊ณผ์ ์ด ํ์ํ๋ค.
3-way handshake๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์๋ก ์ฐ๊ฒฐ ๊ฐ๋ฅํ ์ํ์ธ์ง ํ์ธํ๋ ๊ณผ์ ์ผ๋ก 1-RTT๊ฐ ๋ฐ์ํ๋ค.
ย
์ดํ ๋ณด์ ์ฐ๊ฒฐ์ ์ํด TLS handshake ๊ณผ์ ์ ์ํํ๋ค. (TLS 1.2)
TLS handshake ๊ณผ์ ์ ์๋์ ๊ฐ๋ค.
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ์ํธํ๋ ์ฐ๊ฒฐ์ ์์ํ๊ณ ์ถ๋ค๋ ๋ฉ์์ง๋ฅผ ๋ณด๋ธ๋ค.
- ๋ฉ์์ง๋ฅผ ์ ๋ฌ ๋ฐ์ ์๋ฒ๋ ์ธ์ฆ์, ๊ณต๊ฐ ํค ๋ฑ์ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ธ๋ค. (1-RTT)
- ํด๋ผ์ด์ธํธ๋ ๊ณต๊ฐ ํค๋ฅผ ๊ฐ์ธ ํค๋ก ๋ณตํธํํ ํ ๊ทธ ํค๋ฅผ ์ฌ์ฉํด ์ํธํ๋ ํธ๋์์ดํฌ ์๋ฃ ๊ฐ์ ๊ณ์ฐํด์ ์๋ฒ์๊ฒ ๋ณด๋ธ๋ค.
- ์๋ฃ ๊ฐ์ ์ ๋ฌ ๋ฐ์ ์๋ฒ๋ ๊ฐ์ด ์ฌ๋ฐ๋ฅธ์ง ๊ฒ์ฆํ๊ณ ํ์ธ ๋ฉ์์ง๋ฅผ ๋ณด๋ธ๋ค. (2-RTT)
ย
์์ ๊ฐ์ด 2๋ฒ์ handshake ๊ณผ์ ์ ์ํํ๋ฉด 3-RTT๊ฐ ๋ฐ์ํ๋ค.
ย
๊ฒฐ๊ตญ TCP๋ก ํต์ ํ๋ ํ์ ์์ฒด๊ฐ ๋ฌธ์ ์๋ ๊ฒ!
ย
HTTP/3.0์ด๋?
HTTP/2.0์ ์ฅ์ ์ ๊ฐ์ ธ๊ฐ๋ฉฐ TCP์ ๋จ์ ์ ๋ณด์ํ ํ๋กํ ์ฝ์ด๋ค.
ย
ย
QUIC
HTTP/3.0์ UDP ๊ธฐ๋ฐ ํ๋กํ ์ฝ์ธ QUIC์ ์ฌ์ฉํ์ฌ ํต์ ํ๋ค.
QUIC์ TCP์ TLS์ ๊ธฐ๋ฅ์ ํฉ์ณ์ ํ๋์ ํ๋กํ ์ฝ๋ก ์ ๊ณตํ๋ค.
QUIC handshake ๊ณผ์ ์ ๊ธฐ์กด์ TCP 3-way handshake์ TLS handshake๋ฅผ ํฉ์น ๊ฒ๊ณผ ์ ์ฌํ๋ฉฐ 1-RTT๋ง์ ์ฐ๊ฒฐ์ด ๊ฐ๋ฅํ๋ค.
ย
๋ฉํฐํ๋ ์ฑ
HTTP/3.0์ ๋ฉํฐํ๋ ์ฑ์ QUIC์ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ฉฐ ๋
๋ฆฝ ์คํธ๋ฆผ ๋ฐฉ์์ผ๋ก HTTP/2.0์ ๋ฉํฐํ๋ ์ฑ์ ๊ฐ์ ํ๋ค.
ย
0-RTT
ํ ๋ฒ HTTP ์ฐ๊ฒฐ์ด ์ด๋ฃจ์ด์ง ์๋ฒ์ ํด๋ผ์ด์ธํธ๋ ์ด์ ์ค์ ๊ฐ์ ๊ฐ์ ธ์์ handshake ๊ณผ์ ์ ๊ฑด๋๋ธ ์ ์๋ค.
ย
์ํธํ
QUIC์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ก ๊ณ์ธต์์ ์ํธํ๋ ์ฐ๊ฒฐ์ ์ค์ ํ๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์
๊ณ์ธต ๋ฐ์ดํฐ๊ฐ ํญ์ ์ํธํ๋๋ค.
ย
์ฐ๊ฒฐ ์ ์ง
์ค๋งํธ ํฐ์ด WiFi์์ ์
๋ฃฐ๋ฌ ๋ฐ์ดํฐ๋ก ์ ํ๋ ๋ HTTP/2.0์์๋ handshake ๊ณผ์ ์ ๋ค์ ๊ฑฐ์ณ์ ์ฐ๊ฒฐํด์ผํ์ง๋ง HTTP/3.0์์๋ Connection ID๋ฅผ ํตํด handshake ๊ณผ์ ์ ์๋ตํ ์ ์๋ค.
ย