๊ธ์ ์ฐ๊ฒ ๋ ์ด์
HTTP ๊ด๋ จ ์ฑ
์์
HTTP/1.1์ ํ์ฌ์ HTTP ๋ฒ์ ์ด๋ค.
๋ผ๋ ๋ฌธ์ฅ์ ์ฝ๊ณ ๋ง๋ ์ ๋ณด์ธ๊ฑด๊ฐ ์ถ์ด์ ํ์ธํด๋ณด๋ HTTP/2
์ HTTP/3
์ ์ฐ๊ณ ์๋ค..?!HTTP/2.0์ HTTP/1.1์ด๋ ๋ญ๊ฐ ๋ค๋ฅธ์ง ๊ถ๊ธํด์ ธ์ ์ฐพ์๋ณด๊ธฐ๋ก ํ๋ค.
ย
HTTP/2.0์ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ
HTTP/1.1์ ๊ตฌํ์ ๋จ์์ฑ๊ณผ ์ ๊ทผ์ฑ์ ์ด์ ์ ๋๊ณ ์๋ค๋ณด๋ ์ฑ๋ฅ์ด ์ข์ง ์๋ค.
์ปค๋ฅ์
ํ๋์ ์์ฒญ ํ๋๋ฅผ ๋ณด๋ด๊ณ ์๋ต ํ๋๋ง ๋ฐ์ ์ ์๊ณ ์๋ต์ ๋ฐ์์ผ๋ง ๊ทธ๋ค์ ์์ฒญ์ ๋ณด๋ผ ์ ์๊ธฐ ๋๋ฌธ์ ์ง์ฐ์ด ๋ฐ์ํ๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ณ๋ ฌ ์ปค๋ฅ์
๊ณผ ํ์ดํ๋ผ์ธ ์ปค๋ฅ์
์ด ๋์
๋์์ง๋ง ์ฑ๋ฅ ๊ฐ์ ์ ๋ํ ๊ทผ๋ณธ์ ์ธ ํด๊ฒฐ์ฑ
์ด ๋์ง ๋ชปํ๋ค.
ย
๋ณ๋ ฌ ์ปค๋ฅ์
์ฌ๋ฌ ๊ฐ์ TCP ์ปค๋ฅ์
์ ํตํ ๋์ ์์ฒญ์ ๋ณด๋ผ ์ ์๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ๋ค์์ ์ปค๋ฅ์
์ ํ๊ฒ ๋๋ฉด ์๋ฒ์ ๋ถํ๊ฒ ์๊ฒจ ์ฑ๋ฅ์ด ๋จ์ด์ง๋ ๋ฌธ์ ์ ์ด ์๋ค. ์๋ฅผ ๋ค์ด 100๋ช
์ ์ฌ์ฉ์๊ฐ ๊ฐ๊ฐ 100๊ฐ์ ์ปค๋ฅ์
์ ๋งบ์ผ๋ฉด ์๋ฒ๋ 10,000๊ฐ์ ์ปค๋ฅ์
์ ๋ ์๊ฒ ๋๋ค.
ย
ํ์ดํ๋ผ์ธ ์ปค๋ฅ์
์ปค๋ฅ์
์ด ์ง์ ์ปค๋ฅ์
์ธ์ง ํ์ธ๋๋ฉด ์์ฒญ์ ์ฐ์์ผ๋ก ๋ณด๋ผ ์ ์๋ค. HTTP/1.1์์๋ ๋ณ๋ ์ค์ ์ ํ์ง ์๋ ํ, ๋ชจ๋ ์ปค๋ฅ์
์ ์ง์ ์ปค๋ฅ์
์ด๋ค.
๋จผ์ ๋ณด๋๋ ์์ฒญ ์์
์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ดํ์ ๋ค์ด์จ ์์ฒญ ์์
์ด ๋๋๋ ์๋ต์ ๋ชป๋ณด๋ด๋ ํ์์ด ์๊ธด๋ค. ์ด๋ฅผ Head-of-line blocking์ด๋ผ๊ณ ํ๋ค.
๊ฒฐ๋ก ์ ์ฑ๋ฅ ๊ฐ์ ์ ์ํด HTTP/2.0์ด ๋ฑ์ฅํ๋ค.
ย
HTTP/2.0์ด๋?
HTTP/1.1์ ์ฑ๋ฅ ๊ฐ์ ์ ์ํด ๋ช๊ฐ์ง ๊ธฐ๋ฅ์ ์ถ๊ฐํ ํ๋กํ ์ฝ์ด๋ค.
ย
ํ๋ ์
HTTP/2.0์์ ๋ชจ๋ ๋ฉ์์ง๋ ํ๋ ์์ ๋ด๊ฒจ ์ ์ก๋๋ค. ์ด 10๊ฐ์ง ํ๋ ์์ด ์กด์ฌํ๋ค.
HTTP/1.1๊ณผ๋ ๋ค๋ฅด๊ฒ HTTP/2.0์ ๋ฐ์ด๋๋ฆฌ๋ก ๋ฐ์ดํฐ๋ฅผ ์ธ์ฝ๋ฉํ๊ณ ์์ ๋จ์๋ก ๋๋ ์ ์ ์กํ ์ ์๋ค.
ย
์คํธ๋ฆผ
์คํธ๋ฆผ์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์์ ๊ตํ๋๋ ํ๋ ์๋ค์ ๋
๋ฆฝ๋ ์๋ฐฉํฅ ์ํ์ค๋ค.
ํ ์์ ์์ฒญ๊ณผ ์๋ต์ ํ๋์ ์คํธ๋ฆผ์ ํตํด ์ด๋ฃจ์ด์ง๋ค. ํด๋ผ์ด์ธํธ๋ ์ ์คํธ๋ฆผ์ ๋ง๋ค๊ณ ๊ทธ ์คํธ๋ฆผ์ ํตํด ์์ฒญ์ ๋ณด๋ธ๋ค. ์์ฒญ์ ๋ฐ์ ์๋ฒ๋ ๊ทธ ์คํธ๋ฆผ์ผ๋ก ์๋ต์ ๋ณด๋ธ๋ค.
์คํฌ๋ฆผ์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง ์ ์๊ธฐ ๋๋ฌธ์ ์ค์ํ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ๋ ์คํธ๋ฆผ์๊ฒ ๋์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ ์ ์๋ค.
ย
๋ฉํฐํ๋ ์ฑ
ํ๋์ ์ปค๋ฅ์
์์ ์ฌ๋ฌ ๊ฐ์ ์คํธ๋ฆผ์ด ๋์์ ๋ง๋ค์ด์ง ์ ์์ด๋ฉฐ ์ฌ๋ฌ ๊ฐ์ ์์ฒญ๊ณผ ์๋ต์ ๋์์ ์ฒ๋ฆฌํ ์ ์๋ค.
๊ฐ ์คํธ๋ฆผ๋ด์ ์๋ต๊ณผ ์์ฒญ์ ์์๋ ๋ณด์ฅ๋์ด์ผ ํ์ง๋ง ์คํธ๋ฆผ ๊ฐ์ ์ฒ๋ฆฌ ์์๋ ์ค์ํ์ง ์๋ค.
์ด๋ฅผ ํตํด HTTP/1.1์ ํ์ดํ๋ผ์ธ ์ปค๋ฅ์
์ ๊ฐ์ ํ์๋ค.
ย
ํค๋ ์์ถ
HTTP/1.1์์ ํค๋๋ ์๋ฌด๋ฐ ์์ถ ์์ด ๊ทธ๋๋ก ์ ์ก๋์์ผ๋ฉฐ ์ค๋ณต๊ฐ์ด ์กด์ฌํ๋ค.
HTTP/2.0์์๋ HPACK์ด๋ผ๋ ํค๋ ์์ถ ๋ฐฉ๋ฒ์ผ๋ก ํค๋๋ฅผ ์์ถํ ๋ค ์ ์กํ๋ค.
์ ์ /๋์ ํค๋ ํ
์ด๋ธ์ ํตํด ์ค๋ณต์ ๊ฒ์ถํ๊ณ ํ
์ด๋ธ ์ธ๋ฑ์ค๊ฐ๋ง ์ ์กํจ์ผ๋ก์จ ์ค๋ณต๊ฐ์ ์ฌ์ ์กํ์ง ์๋๋ค.
ย
์๋ฒ ํธ์
์๋ฒ๊ฐ ํ๋์ ์์ฒญ์ ๋ํด ์๋ต์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ๋ฆฌ์์ค๋ฅผ ๋ณด๋ผ ์ ์๋๋ก ํด์ค๋ค.
์ด ๊ธฐ๋ฅ์ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์์ ์ด๋ค ๋ฆฌ์์ค๋ฅผ ์๊ตฌํ ๊ฒ์ธ์ง ๋ฏธ๋ฆฌ ์ ์ ์๋ ์ํฉ์์ ์ ์ฉํ๋ค.
์๋ฅผ ๋ค์ด, HTML ํ์ผ์ ๋งํฌ๋์ด ์๋ ์ด๋ฏธ์ง, CSS ํ์ผ, JS ํ์ผ ๋ฑ์ ๋ฆฌ์์ค.
ย
HTTP/2.0์ ๋ฌธ์
HTTP/2.0์ ์ฌ์ ํ TCP๋ฅผ ์ด์ฉํ๊ธฐ ๋๋ฌธ์ ์ง์ฐ์ด ๋ฐ์ํ๋ค.
TCP๋ ํจํท์ด ์ ์ค๋๊ฑฐ๋ ์ค๋ฅ๊ฐ ์์๋ ์ฌ์ ์กํ๋ค. ์ด ๊ณผ์ ์์ ๊ฒฐ๊ตญ HOLB ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
ย
๊ทธ๋ฆฌํ์ฌ HTTP/3.0์ด ๋ฑ์ฅํ๊ฒ ๋๋๋ฐโฆ
ย