๐ HTTP ํ๋กํ ์ฝ์ ํน์ง
(Hyper Text Transfer Protocol)
TCP/IP ํ๋กํ ์ฝ์ ์ด์ฉํจ
โ ์ ๋น์ฐ๊ฒฐ์ฑ์ ์ ์งํ ๊น?
HTTP๋ ๋ถํน์ ๋ค์์ ํ๊ฒฝ์ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ณ
๋ฐ๋ผ์, ๋ค์์ ํด๋ผ์ด์ธํธ๋ค๊ณผ ์ฐ๊ฒฐ์ ์ ์งํด์ผ ํ๋ค๋ฉด ๋ฆฌ์์ค ๋ญ๋น
์ฐ๊ฒฐ์ ๊ณ์ ์ ์งํ๋ ๊ฒ๋ณด๋ค ์ฐ๊ฒฐ์ ๋์ผ๋ฉด, ๋ค์์ ํด๋ผ์ด์ธํธ๋ค๊ณผ ๋ ๋ง์ ์ฐ๊ฒฐ์ ํ ์ ์์
๋งค ์์ฒญ ๋ง๋ค TCP ์ฐ๊ฒฐ ์์ฑ

๐ Keep-Alive Connection
์ฐ๊ฒฐ ์ง์์๊ฐ์ ์ค์ ํ์ฌ TCP ์ฐ๊ฒฐ์ ์ฌ์ฌ์ฉํ๋ค.
TCP ํธ๋์
ฐ์ดํฌ ๋น์ฉ์ ์ค์ด๊ณ , ์๋ต ์ฑ๋ฅ์ ๋์ธ๋ค.

๐ Pipelining
ํ๋์ ์ฐ๊ฒฐ์์ ์๋ต์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ , ์ฌ๋ฌ ์์ฒญ์ ์ฐ์์ ์ ๋ณด๋ธ ํ ์๋ต์ ์์๋๋ก ๋ฐ๋ ๋ฐฉ์

โ Head of Line Blocking (HOL Blocking)
๋ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํด Keep-Alive Connection ๊ณผ Pipelining์ ์ฌ์ฉํ๋๋ผ๋ ๊ฒฐ๊ตญ์ ์์ฒญ ์์๋๋ก ์๋ต์ ๋ณด๋ด์ผํ๋ค. ์ด๋ ์์ ์๋ต์ ๋๊ธฐ ์๊ฐ์ด ๋์ด๋๊ฒ ๋๋ฉด ๋ค์ ์๋ต์ด ๋นจ๋ผ๋ ๋๊ธฐ ํ๊ฒ ๋๋ค.
๐ Multiplexing
ํ๋์ ์ฐ๊ฒฐ์์ ์์์ ์๊ด์์ด ๋์์ ์ฌ๋ฌ ๊ฐ์ ์๋ต์ ๋ณด๋ผ ์ ์์
Pipelining์ HOL Blocking์ ํด๊ฒฐ

๐ Binary Framing Layer
HTTP ๋ฉ์ธ์ง๋ Text๋ก ์ ์ก ๋์์ง๋ง, HTTP 2.0์์๋ binary Frame์ผ๋ก ์ธ์ฝ๋ฉ ๋์ด ์ ์กํ์ฌ ์ฑ๋ฅ ํฅ์
์์ฒญ ์
์๋ต ์
HEADERS frame
์๋ต์ ๋ฉํ๋ฐ์ดํฐ
DATA frame
์ค์ ์น ํ์ด์ง ๋ด์ฉ

๐ Server Push
ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ์ง ์๋ ๋ฆฌ์์ค๋ค์ ์๋ฒ๊ฐ ๋ฏธ๋ฆฌ ์ ์กํด์ฃผ๋ ๊ธฐ์
ํด๋ผ์ด์ธํธ๊ฐ ์ด๊ธฐ ์นํ์ด์ง index.html์ ์์ฒญํ๋ฉด ์๋ฒ๊ฐ index.html ๋ฟ๋ง ์๋๋ผ css,js ํ์ผ๋ ํ์ํ ๊ฒ์ ์๊ณ ์๊ธฐ๋๋ฌธ์ ๋ฏธ๋ฆฌ ํด๋ผ์ด์ธํธ๋ก ๊ฐ์ด ๋ณด๋ด๋ ๊ฒ
์ด๋ ๊ฒ ๋ฏธ๋ฆฌ ๋ณด๋ธ ํ์ผ์ ์บ์ ๋๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํด๋๊ณ ํด๋ผ์ด์ธํธ๊ฐ ํ์ํ ๋ ๋ฐ๋ก ์์ฒญ์ ํ์ง ์๊ณ ๊บผ๋ด์
๐ Stream Prioritization
Pipelining์ HOL Blocking์ ํด๊ฒฐํ๊ธฐ ์ํด Multiplexing์ ํ์ง๋ง, ํ๋์ ์ฐ๊ฒฐ์ ์ฌ๋ฌ ์์ฒญ๊ณผ ์ฌ๋ฌ ์๋ต์ด ๋ค์์ฌ์ ํจํท ์์๊ฐ ๋ณ๊ฒฝ ๋ ์ ์๋ค.
โ Stream Prioritization, ์ฐ์ ์์๊ฐ ์ ํ์ํ ๊น?
HTTP/1.1์์ Pipelining์ HOL Blocking์ ํด๊ฒฐํ๊ธฐ ์ํด HTTP/2.0์๋ Multiplexing์ ํตํ ๋ณ๋ ฌ์ ์ฒ๋ฆฌ๋ฅผ ํตํด ์์ ์๊ด์์ด ์๋ต์ ๋ณด๋ด๊ฒ ๋์๋ค.
์๋ต์ด ๋น ๋ฅธ ๊ฒ๋ถํฐ ์ฒ๋ฆฌํ๊ฒ ๋์๋๋ฐ, ๊ทธ๋ฐ๋ฐ ์ ์ฐ์ ์์๊ฐ ํ์ํ ๊น?
HTML, CSS, JavaScript๊ฐ ์ ์ก ๋ ๋, HTML์ด ๋จผ์ ์ ์ก ๋๋ ๊ฒ์ด ์ด์์ ์ด๋ค.
์ด๋ฏธ์ง๋ ๋ค๋ฅธ ๋ฆฌ์์ค๋ค์ด ๋จผ์ ์ ์ก๋๊ฒ ๋๋ฉด ์ฌ์ฉ์๋ ํ์ด์ง๊ฐ ์์ ํ ๋ก๋๋์ง ์์ ์ํ๋ก ๋ณด์ผ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฐ๋ผ์, ๋ณ๋ ฌ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ ํ๊ฒฝ์์ ๊ฐ ์์ฒญ์ ์ค์๋์ ๋ฐ๋ผ ๋ฆฌ์์ค ํ ๋น์ ์ต์ ํ ํ๋ ๊ธฐ์ ์ด๋ค.
๐ HTTP Header Data Compression
HTTP/2 ๊ฐ ์์ฒญ์ ํค๋๋ฅผ ์์ถํ์ฌ ์ ์กํ ์ ์๋ค.
ํค๋ ์์ถ ์๊ณ ๋ฆฌ์ฆ HPACK์ ์ฌ์ฉํ๋ฉฐ, ์ค๋ณต๋ ํค๋ ์ ๋ณด๋ฅผ ์ค์ธ๋ค.
HTTP/1.x ์์๋ ๊ฐ ์์ฒญ๋ง๋ค ํค๋์ ์ ๋ณด๋ฅผ ์ ์ก ํด์ผํ์ฌ, ์ค๋ณต๋๋ ๊ฒฝ์ฐ๋ค์ด ๋ง์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด๋ค.