HTTP / 2.0
HTTP 2.0
๊ธฐ์กด 1.1 ๋ฒ์ ์ ๋์ฒดํ ๊ฒ์ด ์๋ ์ฑ๋ฅ์ ํ์ฅ์ํจ ํ๋กํ ์ฝ์ด๋ค.


๊ฐ๋ฐ์ ๋๊ตฌ์์ ํ์ฌ goole์ 3๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์๊ณ , naver๋ 2๋ฒ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.

H2์ ํต์ฌ์ Binary Framing Layer๋ฅผ ์ฌ์ฉํด์ ์์ฒญ๊ณผ ์๋ต์ ๋ฉํฐํ๋ ์ฑ์ ์ง์ํ๋ค.
์๋ก์ด Binary Framing ๋งค์ปค๋์ฆ์ด ๋์ ๋๋ฉด์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ ๋ฐ์ดํฐ ๊ตํ ๋ฐฉ์์ด ๋ณ๊ฒฝ๋์๋ค.
์ด๋ฏธ์ง์์ ๊ธฐ์กด์ HTTP 1.1์ ์ผ๋ฐ ํ ์คํธ ํ์์ ๋ฉ์์ง๋ฅผ ์ ์กํ์ง๋ง 2.0์์๋ ํ๋ ์๊ณผ ๋จ์๋ก ๋ถํ ํ๋ค. ๊ทธ๋ฆฌ๊ณ Binary๋ก Encoding ํ๋ค.
TEXT ๋ณด๋ค ํ์ฑ, ์ ์ก์๋๊ฐ ๋น ๋ฆ
์ค๋ฅ ๋ฐ์ ๊ฐ๋ฅ์ฑ๋ ์ ์ด์ง๋ค.

ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ฅผ ์ฐ๊ฒฐํ๋ Connection์์ Stream์ด๋ผ๋ ๋ฐ์ดํฐ์ ๋ฐฉํฅํฅ ํ๋ฆ์ด ์กด์ฌํ๋ค.
๊ทธ ์์๋ ํ๋ ์๋ค์ด ์๊ณ ํ๋ ์ ์กฐ๊ฐ๋ค์ด ํฉ์ณ์ ธ์ ์์ฒญ์ด๋ ์๋ต์ ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑ๋๋ค.
์ฝ๊ฒ ์๊ธฐํด์ H2๋ HTTP ๋ฉ์์ง๋ฅผ ๋ฐ์ด๋๋ฆฌ ํํ์ ํ๋ ์์ผ๋ก ๋๋๊ณ ์ด๋ฅผ ์ ์ก ํ ๋ฐ์์ชฝ์์ ๋ค์ ์ฌ์กฐ๋ฆฝํ๋ค. ๊ทธ๋์ Request์ Response์ Multiplexing, ์์ฒญ๊ณผ ์๋ต์ ๋ค์คํ๊ฐ ๊ฐ๋ฅํด์ก๋ค.
๋ฉ์์ง๊ฐ ํ๋ ์์ผ๋ก ์ชผ๊ฐ์ง๋ฉด์ ์์๊ฐ ๋ฌด์๋ฏธํด์ก๋ค. ํ๋ ์์ ์ธํฐ๋ฌ๋น์ด ๊ฐ๋ฅํ๋ค.
์ธํฐ๋ฌ๋น : ์ฌ๋ฌ๊ฐ์ ํ๋ ์์ด ๋์์ ์ ์ก๋๋ฉด, ์์ ์ธก์์ ์ด๋ฅผ ์์์ ๋ง๊ฒ ์กฐ๋ฆฝํ๋ ๊ธฐ์
๊ทธ๋์ ํด๋ผ์ด์ธํธ์์ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ผ ๋๋ ์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก ์๋ต์ ๋ณด๋ผ ๋๋ ์ธํฐ๋ฆฌ๋น์ด ๋ฐ์ํ๋ค.
์ด๋ฌํ ํน์ฑ์ผ๋ก ์ฌ๋ฌ ์์ฒญ์ด ์๋๋ผ๋ ์๋ต์ด ๋ณ๋ ฌ๋ก ์งํ๋์ด ๋ค๋ฅธ ์์ฒญ์ด๋ ์๋ต์ด ์ฒ๋ฆฌ๋๋ ๊ฒ์ ๊ธฐ๋ค๋ฆด ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ด์ ์ HOL Blocking ๋ฌธ์ ๋ ํด๊ฒฐ๋์๋ค.
HTTP 2.0 ํน์ง ์ ๋ฆฌ
์ ๋ฆฌํด์, HTTP 2.0์ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ด ์๋ค.
Stream(์คํธ๋ฆผ) : ์๋ฐฉํฅ ํต์ , ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ํต๋ก๋ฅผ ์๋ฏธํ๋ค.
Frame(ํ๋ ์) : ์คํธ๋ฆผ ๋ด์์ ์ ์ก๋๋ ์ต์ ๋จ์์ ๋ฐ์ดํฐ ์กฐ๊ฐ์ด๋ค.
Multiplexing(๋ค์คํ) : ํ๋์ TCP ์ฐ๊ฒฐ์ ํตํด์ ์ฌ๋ฌ ์คํธ๋ฆผ์ ๋์์ ์ฒ๋ฆฌํ ์ ์๋ค.
Frame ์ธํฐ๋ฆฌ๋น : ์ฌ๋ฌ ํ๋ ์์ ๋์์ ์ ์กํ๊ณ , ์์ ์ธก์์ ์ฌ์กฐ๋ฆฝํ์ฌ ์ฌ์ฉํ๋ค.
์คํธ๋ฆผ ์ฐ์ ์์ ์ง์ ๊ฐ๋ฅ : ๊ฐ๊ฐ์ ์คํธ๋ฆผ์ ์ฐ์ ์์๋ฅผ ์ง์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ค์ํ ๋ฆฌ์์ค ๋จผ์ ์ฒ๋ฆฌํ ์ ์๋ค.
Last updated