개인 학습/CS
HTTP/1.0 vs HTTP/1.1 vs HTTP/2.0 vs HTTP/3.0
qjatjs123123
2025. 2. 27. 21:44
HTTP/1.0
- HTTP/1.0은 요청 컨텐츠 마다 3 - 웨이 핸드쉐이크를 계속해서 열어야 함
- 서버에 부담이 많이가고, 응답시간이 길어진다는 단점
- 이러한 문제를 해결하기 위해 이미지 스플리팅, 코드 압축, base64 인코딩이 있음
HTTP/1.1
HTTP 1.0에서 발전한 것이 HTTP/1.1이다. 매번 TCP 연결을 하는 것이 아니라 한 번 TCP 초기화 이후에 keep-alive라는 옵션으로 여러개의 파일을 송수신 할 수 있음
- 한 개의 TCP 세션을 통해 여러개의 컨텐츠 요청이 가능
- 하나의 커넥션에서 응답을 기다리지 않고 순차적으로 여러 요청을 연속적으로 보냄
- HOL Blocking 단점이 있음, TCP는 신뢰성을 보장하는 프로토콜이기 때문에, 패킷은 무조건 정확한 순서대로 처리되어야 함, 그래서 앞선 요청에 의해 뒤 요청이 지연될 수 있음,
- 쿠키 등 많은 메타데이터가 헤더안에 있고 압축이 되지 않아 무거움
HTTP/2.0
HTTP/1.1 보다 지연 시간을 줄이고 응답 시간을 빠르게 할 수 있다.
- 멀티 플렛싱을 사용함, HTTP 1.1처럼 응답 순서와 상관없이 Stream으로 받아 HOL Blocking 문제 해결
- 헤더 압축
- 서버 푸쉬가 가능함, 클라이언트의 요청없이도 서버가 먼저 푸시하여 클라이언트에게 줄 수 있음
HTTP/3.0
TCP 기반이 아닌 UDP 기반 프로토콜
초기 연결 설정 시 지연시간 감소
- 3 - 웨이 핸드쉐이크 과정 없음
- 네트워크의 연결을 끊고 다른 네트워크로 재연결하는 과정에서 발생하는 문제를 connection ID라는 개념으로 해결
유튜브나 구글, 인스타그램에서 HTTP/3를 이용하고 있다.