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 기반으로 돌아감