HTTP/2.0
๐ŸŒ

HTTP/2.0

Description
Published
2023-12-29
Tags

๊ธ€์„ ์“ฐ๊ฒŒ ๋œ ์ด์œ 

HTTP ๊ด€๋ จ ์ฑ…์—์„œ HTTP/1.1์€ ํ˜„์žฌ์˜ HTTP ๋ฒ„์ „์ด๋‹ค.๋ผ๋Š” ๋ฌธ์žฅ์„ ์ฝ๊ณ  ๋งž๋Š” ์ •๋ณด์ธ๊ฑด๊ฐ€ ์‹ถ์–ด์„œ ํ™•์ธํ•ด๋ณด๋‹ˆ HTTP/2์™€ HTTP/3์„ ์“ฐ๊ณ  ์žˆ๋‹ค..?!
notion image
notion image
HTTP/2.0์€ HTTP/1.1์ด๋ž‘ ๋ญ๊ฐ€ ๋‹ค๋ฅธ์ง€ ๊ถ๊ธˆํ•ด์ ธ์„œ ์ฐพ์•„๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.
ย 

HTTP/2.0์˜ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ

HTTP/1.1์€ ๊ตฌํ˜„์˜ ๋‹จ์ˆœ์„ฑ๊ณผ ์ ‘๊ทผ์„ฑ์— ์ดˆ์ ์„ ๋‘๊ณ  ์žˆ๋‹ค๋ณด๋‹ˆ ์„ฑ๋Šฅ์ด ์ข‹์ง€ ์•Š๋‹ค.
์ปค๋„ฅ์…˜ ํ•˜๋‚˜์— ์š”์ฒญ ํ•˜๋‚˜๋ฅผ ๋ณด๋‚ด๊ณ  ์‘๋‹ต ํ•˜๋‚˜๋งŒ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ  ์‘๋‹ต์„ ๋ฐ›์•„์•ผ๋งŒ ๊ทธ๋‹ค์Œ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ง€์—ฐ์ด ๋ฐœ์ƒํ•œ๋‹ค.
์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ณ‘๋ ฌ ์ปค๋„ฅ์…˜๊ณผ ํŒŒ์ดํ”„๋ผ์ธ ์ปค๋„ฅ์…˜์ด ๋„์ž…๋˜์—ˆ์ง€๋งŒ ์„ฑ๋Šฅ ๊ฐœ์„ ์— ๋Œ€ํ•œ ๊ทผ๋ณธ์ ์ธ ํ•ด๊ฒฐ์ฑ…์ด ๋˜์ง€ ๋ชปํ–ˆ๋‹ค.
ย 

๋ณ‘๋ ฌ ์ปค๋„ฅ์…˜

์—ฌ๋Ÿฌ ๊ฐœ์˜ TCP ์ปค๋„ฅ์…˜์„ ํ†ตํ•œ ๋™์‹œ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋‹ค์ˆ˜์˜ ์ปค๋„ฅ์…˜์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์„œ๋ฒ„์— ๋ถ€ํ•˜๊ฒŒ ์ƒ๊ฒจ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๋Š” ๋ฌธ์ œ์ ์ด ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 100๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ๊ฐ 100๊ฐœ์˜ ์ปค๋„ฅ์…˜์„ ๋งบ์œผ๋ฉด ์„œ๋ฒ„๋Š” 10,000๊ฐœ์˜ ์ปค๋„ฅ์…˜์„ ๋– ์•ˆ๊ฒŒ ๋œ๋‹ค.
notion image
ย 

ํŒŒ์ดํ”„๋ผ์ธ ์ปค๋„ฅ์…˜

์ปค๋„ฅ์…˜์ด ์ง€์† ์ปค๋„ฅ์…˜์ธ์ง€ ํ™•์ธ๋˜๋ฉด ์š”์ฒญ์„ ์—ฐ์†์œผ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. HTTP/1.1์—์„œ๋Š” ๋ณ„๋„ ์„ค์ •์„ ํ•˜์ง€ ์•Š๋Š” ํ•œ, ๋ชจ๋“  ์ปค๋„ฅ์…˜์€ ์ง€์† ์ปค๋„ฅ์…˜์ด๋‹ค.
๋จผ์ € ๋ณด๋ƒˆ๋˜ ์š”์ฒญ ์ž‘์—…์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ดํ›„์— ๋“ค์–ด์˜จ ์š”์ฒญ ์ž‘์—…์ด ๋๋‚˜๋„ ์‘๋‹ต์„ ๋ชป๋ณด๋‚ด๋Š” ํ˜„์ƒ์ด ์ƒ๊ธด๋‹ค. ์ด๋ฅผ Head-of-line blocking์ด๋ผ๊ณ  ํ•œ๋‹ค.
notion image
๊ฒฐ๋ก ์€ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ์œ„ํ•ด 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์ด ๋“ฑ์žฅํ•˜๊ฒŒ ๋˜๋Š”๋ฐโ€ฆ
ย