[Daily morning study] HTTP/1.1, HTTP/2, HTTP/3์ ์ฐจ์ด์
#daily morning study
HTTP/1.1, HTTP/2, HTTP/3์ ์ฐจ์ด์
์น์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ํ๋กํ ์ฝ์ธ HTTP(ํ์ดํผํ ์คํธ ์ ์ก ํ๋กํ ์ฝ)๋ ์ฌ๋ฌ ๋ฒ์ ์ด ์กด์ฌํ๋ฉฐ, ๊ฐ ๋ฒ์ ๋ง๋ค ์ฑ๋ฅ๊ณผ ๊ธฐ๋ฅ์์ ์ฐจ์ด๋ฅผ ๋ณด์ธ๋ค. ์ด๋ฒ ๋ฌธ์์์๋ HTTP/1.1, HTTP/2, HTTP/3์ ์ฃผ์ ์ฐจ์ด์ ์ ๋ํด์ ์ ๋ฆฌํด๋ณด๊ฒ ๋ค.
HTTP/1.1
ํน์ง
- ํ ์คํธ ๊ธฐ๋ฐ: ์์ฒญ๊ณผ ์๋ต์ด ๋ชจ๋ ํ ์คํธ ํ์์ผ๋ก ์ด๋ฃจ์ด์ง.
- ์ฐ๊ฒฐ ๊ด๋ฆฌ: ๊ธฐ๋ณธ์ ์ผ๋ก ๋งค ์์ฒญ๋ง๋ค ์๋ก์ด TCP ์ฐ๊ฒฐ์ ์๋ฆฝํ์ฌ ์ฑ๋ฅ์ด ๋จ์ด์ง ์ ์๋ค. Keep-Alive ํค๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ฐ๊ฒฐ์ ์ ์งํ ์ ์๋ค.
- ๋น๋๊ธฐ์ฑ ๋ถ์กฑ: ํ ์ฐ๊ฒฐ์์ ์ฌ๋ฌ ์์ฒญ์ด ๋์์ ์ด๋ฃจ์ด์ง ๊ฒฝ์ฐ, ํ๋์ ์์ฒญ์ด ์๋ฃ๋ ๋๊น์ง ๋ค๋ฅธ ์์ฒญ์ด ๋๊ธฐํด์ผ ํ๋ ๋ฌธ์ ๊ฐ ์๋ค.
์์
GET /index.html HTTP/1.1
Host: example.com
Connection: keep-alive
HTTP/2
๊ฐ์ ๋ ์
- ์ด์ง ํ๋กํ ์ฝ: ์์ฒญ๊ณผ ์๋ต์ด ์ด์ง ํ์์ผ๋ก ์ ์ก๋์ด, ํด์ ๋ฐ ์ฒ๋ฆฌ ์๋๊ฐ ๋น ๋ฅด๋ค.
- Multiplexing: ํ๋์ ์ฐ๊ฒฐ์์ ์ฌ๋ฌ ์์ฒญ๊ณผ ์๋ต์ ๋์์ ์ฒ๋ฆฌํ ์ ์์ด, ๋๊ธฐ ์๊ฐ์ ํฌ๊ฒ ์ค์ผ ์ ์๋ค.
- ํค๋ ์์ถ: HPACK์ด๋ผ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ํค๋ ์ ๋ณด๋ฅผ ์์ถํด ์ ์ก ์๋๋ฅผ ํฅ์์ํด.
- ์๋ฒ ํธ์(Server Push): ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์์ฒญ ์์ด๋ ํ์ํ ๋ฆฌ์์ค๋ฅผ ๋ฏธ๋ฆฌ ์ ์กํ ์ ์์ด ๋ก๋ฉ ์๋๊ฐ ํฅ์๋๋ค.
์์
:method: GET
:path: /index.html
:scheme: https
:authority: example.com
HTTP/3
ํ์ ์ ์ธ ๋ณํ
- QUIC ํ๋กํ ์ฝ: UDP ๊ธฐ๋ฐ์ QUIC(Quick UDP Internet Connections) ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ ์ง์ฐ์ ์ต์ํํ๊ณ ์ฑ๋ฅ์ ๊ฐ์ ํ๋ค.
- 0-RTT ํธ๋์์ดํฌ: ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์ฐ๊ฒฐ์ ๋น ๋ฅด๊ฒ ์ค์ ํ ์ ์์ด ์ด๊ธฐ ์ฐ๊ฒฐ ์๋๊ฐ ํฌ๊ฒ ํฅ์๋๋ค.
- Multiplexing ํ์ธ: HTTP/2์ Multiplexing ๊ธฐ๋ฅ์ ๋์ฑ ๊ฐํํ์ฌ, ํจํท ์์ค์ด ๋ฐ์ํ ๋ ํน์ ์ฐ๊ฒฐ์ ๋ํ ์ํฅ์ ์ค์ธ๋ค.
์์ ์๋ต ์์
QUIC์ ์ฌ์ฉํ๋ HTTP/3์ ์์ ์๋ต์ ์ด์ง ํ์์ผ๋ก ์ ๋ฌ๋์ด TCP์๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ต์ ํ๋๋ค. ์ค์ HTTP/3 ์์ฒญ ์์๋ ์๋์ ๊ฐ๋ค.
GET /index.html HTTP/3
์ข ํฉ ๋น๊ตํ
| ํน์ฑ | HTTP/1.1 | HTTP/2 | HTTP/3 |
|---|---|---|---|
| ํ๋กํ ์ฝ ํ์ | ํ ์คํธ ๊ธฐ๋ฐ | ์ด์ง ๊ธฐ๋ฐ | QUIC(UDP) ๊ธฐ๋ฐ |
| ๋ค์ค ์์ฒญ ์ฒ๋ฆฌ | ๋ถ๊ฐ๋ฅ / ๋๊ธฐ | ๊ฐ๋ฅ | ๊ฐ๋ฅ |
| ์๋ฒ ํธ์ | ๋ถ๊ฐ๋ฅ | ๊ฐ๋ฅ | ๊ฐ๋ฅ |
| ํค๋ ์์ถ | ์์ | HPACK ์ฌ์ฉ | QPACK ์ฌ์ฉ |
| ํธ๋์์ดํฌ | 1RTT | 1RTT | 0-RTT |
๊ฒฐ๋ก
HTTP ํ๋กํ ์ฝ์ ๋ฐ์ ์ ์น ํ๊ฒฝ์ ์ฑ๋ฅ ๊ฐ์ ์ ์ค์ํ ์ญํ ์ ํ๊ณ ์๋ค. HTTP/1.1์์ HTTP/2, HTTP/3๋ก์ ๋ณํ๋ ์๋์ ํจ์จ์ฑ์ ๋์๊ณ , ๋ค์ํ ๊ธฐ๋ฅ์ ํตํด ์น ํ์ง์ ํฅ์์์ผฐ๋ค. ๊ฐ๊ฐ์ ํ๋กํ ์ฝ์ ํน์ง์ ์ดํดํ๊ณ ํ์ฉํ์ฌ, ์น ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ์ ๋ ๋์ ์ฑ๋ฅ์ ๋์ด๋ผ ์ ์๋๋ก ํ์.