HTTP/2
HTTP 2.0 ์์ ๋ฌ๋ผ์ง ์
HTTP/1 ์ด ๋๋ฆฐ ์ด์
์์์ ๋ ๋ ธ๋ ์์ฒญ์ ์๋ต์ ๋ฐ์์ผ๋ง ๋ค์ ์์ฒญ์ด ์ฒ๋ฆฌ๋ ์ ์๋ค
HTTP 1.0
๋ฒ์ ์์๋ง ํ๋๋ผ๋, request๋ฅผ ๋ ๋ฆด ๋๋ง๋คconnection
์ ์๋ก ์์ฑํ๋ค โ๋นํจ์จ์
HTTP 1.1
์์๋์ง์ ์ปค๋ฅ์
๊ณผHTTP ํ์ดํ๋ผ์ด๋
์ด๋ผ๋ ๊ฐ๋ ์ด ๋ค์ด๊ฐ๋ค์ปค๋ฅ์ ์
์ฌ์ฌ์ฉ
ํ ์ ์๊ณ ,request๋ฅผ ๋ฏธ๋ฆฌ ์๋ฒ์ ์ฌ๋ฌ๊ฐ ๋ ๋ฆด ์ ์๊ฒ ๋์๋ค
but, request๋ฅผ
๋ณด๋ธ ์์๋๋ก
response๋ฅผ ๋ฐ์ ์ ์๋ค๋ ์ง์ ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค๋ง์ฝ ์ฒ์์ ์์ฒญํ request์ ๋ฌธ์ ๊ฐ ์์ด์ ์๋ต์ด ๋ฆ์ด์ง๋ฉด, ๊ทธ ์ดํ์ ์์ฒญํ request์ ์๋ต๋ ๊ฐ์ด ๋ฆ์ด์ง๋ค๋ ๋ฌธ์ ์ ์ด ๋ฐ์ํ๋ค
Network์์ packet
๋๊ธฐ์ด
์ด ์กด์ฌํ ๋, ์์ (head) packet์ด์ง์ฐ
๋ ๋ ๋ฐ์ํ๋์ฑ๋ฅ ์ ํ ํ์
HTTP/2 ์ ํน์ง
HTTP
header
data์์ถ
์ด์ header์ ๋ด์ฉ๊ณผ
์ค๋ณต
๋๋field
๋ฅผ ์ฌ์ ์กํ์ง ์๋๋ก ํ์ฌ, ๋ฐ์ดํฐ๋ฅผ ์ ์ฝํ๋ค๊ธฐ์กด์ header๊ฐ
Plain Text (ํ๋ฌธ)
์ด์์ง๋ง, HTTP/2์์๋HPACK
์ด๋ผ๋ header ์์ถ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ์ ์ก ํจ์จ
์ ๋์๋ค
Server Push
client๊ฐ ์์ฒญํ์ง ์์ JS, CSS, image ํ์ผ ์ฒ๋ผ ๊ฐ์ด ํ์ํ๊ฒ ๋ ํน์ ํ์ผ๋ค์ server์์
๋จ์ผ HTTP ์์ฒญ
์๋ต ์ํจ๊ป ์ ์ก
ํ ์ ์๋ค
HTTP 1.x
์Head of Line Blocking
๋ฌธ์ ํด๊ฒฐHTTP/2์์๋ ์ฌ๋ฌ ํ์ผ์ ํ๋ฒ์
๋ณ๋ ฌ ์ ์ก
ํ์ฌ ์ ์ก ์๊ฐ์ ์ ๊ฐํ๋คTCP ์ฐ๊ฒฐ ํ๋๋ก ์ฌ๋ฌ ์์ฒญ๊ณผ ์๋ต๋ค์
๋ณ๋ ฌ์
์ผ๋ก ๋ณด๋ผ ์ ์๋คํ๋์
connection
์์ ์ฌ๋ฌ ๋ณ๋ ฌstream
์ด ์กด์ฌํ ์ ์๋คstream์ด ๋ค์์ฌ์ ์ ์ก๋ ๊ฒฝ์ฐ, stream number๋ฅผ ์ด์ฉํ์ฌ ์์ ์ธก์์
์ฌ์กฐํฉ
๋๋ค
stream ์ฐ์ ์์
์ฌ๋ฌ stream์
frame
์๋ค์คํ (multiplexing)
ํ ์ ์๊ฒ ๋๋ฉด์, stream์ ์ฐ์ ์์๋ฅผ ์ง์ ํ ํ์๊ฐ ์๊ฒผ๋คclient๋ ์ฐ์ ์์ ์ง์ ์ ์ํด
์ฐ์ ์์ ์ง์ ํธ๋ฆฌ
๋ฅผ ์ฌ์ฉํ์ฌ server์ stream ์ฒ๋ฆฌ ์ฐ์ ์์๋ฅผ ์ง์ ํ ์ ์๋ค์๋ฒ๋ ์ฐ์ ์์๊ฐ ๋์ ์๋ต์ด client์ ์ฐ์ ์ ์ผ๋ก ์ ๋ฌ๋ ์ ์๋๋ก ๋์ญํญ์ ์ค์ ํ๋ค
Last updated