HTTP 0.9 ~ 2 -> TCP ์ฌ์ฉ
-> 0.9 ์ ๊ฒฝ์ฐ One line protocol์ ์ฌ์ฉ
-> 1.0 ํค๋ ์ฌ์ฉ (์ปค๋ฅ์
ํ๋์ ์์ฒญํ๋๋ง ์ฒ๋ฆฌ๊ฐ๋ฅ)
- ๋งค๋ฒ ์๋ก์ด ์ฐ๊ฒฐ๋ก ์ธํ ์ฑ๋ฅ ์ ํ
- ์๋ฒ ๋ถํ ๋น์ฉ ์ฆ๊ฐ
1.1 Persistent Connection ์ฌ์ฉ
- ์ง์ ํ timeout๋์์๋ ์ปค๋ฅ์
์ ๋ซ์ง์๋๋ค.
- ๋งค๋ฒ ์๋ก์ด ์ฐ๊ฒฐ์ ํ์ง์์์ ์ฑ๋ฅ์ด ์ ๋ณด๋ค ์ข์์ง๋ค.
- Pipelining์ฌ์ฉ
- ํ๋์ ์ปค๋ฅ์
์์ ์๋ต์ ๊ธฐ๋ค๋ฆฌ์ง์๊ณ ์์ฐจ์ ์ธ ์ฌ๋ฌ ์์ฒญ์ ์ฐ์์ ์ผ๋ก ๋ณด๋ด ๊ทธ ์์์ ๋ง์ถฐ ์๋ต์ ๋ฐ๋ ๋ฐฉ์ ์ผ๋ก ์ง์ฐ์๊ฐ์ ์ค์ด๋ ๋ฐฉ๋ฒ
- ํ์ง๋ง ์น๋ช
์ ์ธ ์ค๋ฅ ์กด์ฌ
- Head of Line Blocking -> ์ฒซ๋ฒ์งธ ์์ฒญ์ด ์ค๋๊ฑธ๋ฆฌ๊ฒ๋๋ฉด ๊ทธ๋ค์ ๋ค์๋ค์ ์์ฒญ์ด ์ ๋ถ ๋ฆ๊ฒ ์๋ต์ด ๋๋ค.
- Header ๊ตฌ์กฐ์ ์ค๋ณต
http/2
- ๊ธฐ์กด 1.x ๋ฒ์ ์ ์ฑ๋ฅํฅ์์ ์ด์ ์ ๋ง์ถ ํ๋กํ ์ฝ
- ํ์ค์ ๋์ฒด๊ฐ ์๋ ํ์ฅ
๋ฉ์ธ์ง ์ ์ก ๋ฐฉ์์ ๋ณํ
QUIC
- ์ ์ก ๊ณ์ธต ํ๋กํ ์ฝ
- ๊ตฌ๊ธ ๊ด๋ จ ์ ํ ๋๋ถ๋ถ์ ๊ธฐ๋ณธ ํ๋กํ ์ฝ
- UDP ๊ธฐ๋ฐ
- UDP๋ฅผ ์ฐ๋ ์ด์ -> ์ ๋ขฐ์ฑ์ด ๋ฎ๊ธดํ์ง๋ง/ TCP๊ฐ ์ง์ฐ์ ์ค์ผ ์๊ฐ ์๊ธฐ ๋๋ฌธ์
- UDP์ ๊ฒฝ์ฐ ์ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํด์ TCP ๋งํผ์ ์ ๋ขฐ์ฑ ํ๋ณด๋ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์
- ์ ์ก์๋๊ฐ ํฅ์๋จ
- ์ฒซ ์ฐ๊ฒฐ ์ค์ ์์ ํ์ํ ์ ๋ณด์ ํจ๊ป ๋ฐ์ดํฐ ์ ์ก --> ์ฐ๊ฒฐ ์ฑ๊ณต์ ์บ์ฑํ์ฌ ๋ค์์ฐ๊ฒฐ๋ ๋ฐ๋ก ์ฑ๋ฆฝ ๊ฐ๋ฅ
- ์ด๊ฒ ๊ฐ๋ฅํ ์ด์ -> Connection UUID๋ผ๋ ๊ณ ์ ํ ์๋ณ์๋ก ์๋ฒ์ ์ฐ๊ฒฐํ๊ธฐ ๋๋ฌธ์
- ๋ณด์์ฑ ํฅ์
- TLS ๊ธฐ๋ณธ ์ ์ฉ -> TLS (์ธํฐ๋ท์์์ ์ ๋ณด๋ฅผ ์ํธํํด์ ์ก์์ ํ๋ ํ๋กํ ์ฝ)
- ๋
๋ฆฝ ์คํธ๋ฆผ ์ฌ์ฉ