IT/CS

[CS] HTTP/1.1 과 HTTP/2

어린이개발자 2024. 3. 17. 15:09

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