HTTP/1.1 과 HTTP/2 와 관련해서 특징별 차이점을 작성하고자 한다.
1. 멀티플렉싱 (Multiplexing)
- HTTP/1.1 : 하나의 연결에서 한 번에 하나의 요청-응답만 가능함. 즉, 요청을 보낸 후 응답을 받아야 다음 요청을 보낼 수 있음
- HTTP/2 : 하나의 연결에서 여러 개의 요청을 동시에 보낼 수 있음. 즉, 응답을 기다릴 필요 없이 여러 요청이 병렬로 처리됨
2. 헤더 압축 (Header Compression)
- HTTP/1.1 : 요청 및 응답마다 중복된 헤더가 계속해서 전송됨
- HTTP/2 : HPACK 이라는 압축 방식을 사용하여 헤더 크기를 줄이고 네트워크 트래픽을 최적화함
3. 서버 푸시 (Server Push)
- HTTP/1.1 : 클라이언트가 요청한 리소스만 응답으로 제공
- HTTP/2 : 클라이언트가 필요할 것으로 예상되는 리소스를 미리 푸시하여 성능 향상
4. 연결 방식 (Connection Handling)
- HTTP/1.1 : Keep-Alive 를 사용하여 연결을 유지하지만, 요청은 직렬적으로 처리
- HTTP/2 : 하나의 TCP 연결을 유지하면서 여러 스트림을 통해 요청을 병렬로 처리
5. 우선순위 및 흐름 제어 (Priority & Flow Control)
- HTTP/1.1 : 요청 간 우선순위 개념이 없음
- HTTP/2 : 요청에 우선순위를 부여할 수 있어, 중요한 리소스를 먼저 받을 수 있음
6. 텍스트 vs 바이너리 프로토콜
- HTTP/1.1 : 텍스트 기반 프로토콜로, 사람이 읽을 수 있지만 해석 속도가 느림
- HTTP/2 : 바이너리 기반 프로토콜로, 성능이 더 빠르고 효율적임
7. 보안
- HTTP/1.1 : 암호화되지 않은 HTTP 요청이 가능
- HTTP/2 : 대부분의 브라우저에서 TLS(HTTPS) 와 함께 사용하도록 강제됨
'IT > CS' 카테고리의 다른 글
[CS] Cookie (1) | 2024.03.17 |
---|---|
[CS] Connection-Timeout vs. Read-Timeout (1) | 2024.03.17 |
[CS] Real-Time Web (0) | 2023.06.03 |
[CS] Web Socket (1) | 2023.05.16 |
[CS] TCP vs UDP (0) | 2023.05.15 |