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