Http

Http 1.1

ํ•˜๋‚˜์˜ ์—ฐ๊ฒฐ๋‹น ํ•˜๋‚˜์˜ ์š”์ฒญ/์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•ด(๋™์‹œ ์ „์†ก ๋ถˆ๊ฐ€) ์›น์‚ฌ์ดํŠธ ํ•œ๊ฐœ์˜ ํŽ˜์ด์ง€์˜ ์ˆ˜๋งŽ์€ ํŒŒ์ผ๋“ค์„ ๋ถˆ๋Ÿฌ์˜ค๋Š”๋ฐ ์†๋„์™€ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง„๋‹ค. (ํŒŒ์ดํ”„๋ผ์ด๋‹๊ณผ ๋ฒˆ๋“ค๋Ÿฌ๋กœ ์–ด๋А์ •๋„ ์ปค๋ฒ„๋Š” ํ•˜๊ณ  ์žˆ๋‹ค.)

HOL Blocking : HOL์€ Head of Line ์˜ ์•ฝ์ž๋กœ Head ์ฆ‰, ์•ž์„  ์š”์ฒญ๋•Œ๋ฌธ์— ๋’ค์˜ ์š”์ฒญ๋“ค์ด Block ๋˜๋Š” ๊ฒƒ ( ์š”์ฒญ๊ณผ ์‘๋‹ต ์ˆœ์„œ๊ฐ€ ๋™๊ธฐํ™” )

ํ•œ ํŽ˜์ด์ง€์— ์ˆ˜๋งŒ์€ ์š”์ฒญ/์‘๋‹ต ๋•Œ๋ฌธ์— RTT๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค.

ํ—ค๋” ํฌ๊ธฐ๊ฐ€ ํฌ๋‹ค. (๋งŽ์€ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋“ค์ด ๋“ค์–ด์žˆ๋‹ค.)

  • ๋„๋ฉ”์ธ ์ƒค๋”ฉ : ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ์˜ domain์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ €์žฅํ•˜๊ณ  ์—ฌ๊ธฐ์„œ ๋™์‹œ์ ์œผ๋กœ ๋‹ค์šด ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์†๋„ํ–ฅ์ƒ์„ ๊พ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

    ๋„๋ฉ”์ธ์ด ์—ฌ๋Ÿฌ๊ฐœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์งˆ์˜๋„ ์—ฌ๋Ÿฌ๋ฒˆํ•ด์•ผ ํ•˜๊ณ  ๊ฐ connection์„ ๊ตฌ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ๋„ ์žˆ๋‹ค.

  • ๋ฒˆ๋“ค๋Ÿฌ : ์ผ์ข…์˜ ํŒŒ์ผ ์••์ถ•

  • ์ด๋ฏธ์ง€ ์Šคํ”„๋ผ์ดํŠธ : ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ํ•ฉ์ณ์„œ ๊ด€๋ฆฌ

Http 2

  • Multiplexed Streams : ํ•œ ์ปค๋„ฅ์…˜์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋™์‹œ์— ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

  • Stream Prioritization : ์š”์ฒญ์— ๋Œ€ํ•œ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Server Push : Html๋ฌธ์„œ์— ํ•„์š”ํ•œ ํŒŒ์ผ๋“ค(css,js๋“ฑ)์„ ์š”์ฒญ์—†์ด ๋ณด๋‚ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

  • Header Compression : ํ—ค๋” ์ •๋ณด๋ฅผ ์••์ถ•ํ•˜์—ฌ ๋ณด๋‚ธ๋‹ค.

  • ๋งŽ์€ ๋ธŒ๋ผ์šฐ์ €๋“ค๊ณผ ํ˜„์žฌ ๊ฝค ๋†’์€ ํ˜ธํ™˜์„ฑ์„ ๊ฐ–๋Š”๋‹ค.

HTTP 3

https://evan-moon.github.io/2019/10/08/what-is-http3/


Reference

https://medium.com/@shlee1353/http1-1-vs-http2-0-%EC%B0%A8%EC%9D%B4%EC%A0%90-%EA%B0%84%EB%8B%A8%ED%9E%88-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0-5727b7499b78

Last updated