콘텐츠로 이동

HTTP

HTTP

HTTP/1.0

  • TCP 3-way-handshake 매번
  • RTT 증가

HTTP/1.1

  • TCP 초기화 이후 keep-alive
    • 문서 안에 포함된 다수의 리소스 처리하기 위해서는 요청할 리소스 갯수에 비례해 대기 시간이 길어지는 단점
    • 하나가 느려지면 그 뒤에 있는 것들도 대기하며 다운로드 되는 것
  • 헤더에는 쿠키 등의 많은 메타데이터가 들어있고 압축되지 않아 무거웠음

HTTP/2

  • 멀티플렉싱
    • 여러개의 스트림을 사용하여 송수신
    • 특정 스트림의 패킷이 손실되더라도 해당 스트림에만 영향
  • 헤더 압축 with 허프만 코딩

HTTPS

  • SSL로 암호화
  • 키 교환 알고리즘
  • SEO 도움

HTTP/3

  • QUIC이라는 계층에서 돌아감 (TLS랑 비슷한 레이어)
    • 순방향 오류 수정 메커니즘이 적용되어, 손실된 패킷에 대해 수신 측에서 에러를 검출하고 수정하는 방식
    • 열악한 네트워크 환경에서도 낮은 패킷 손실률
  • UDP 기반으로 돌아감