본문 바로가기
프로그래밍/Network

HTTP/1.1과 HTTP/2의 차이점과 HTTP/2를 사용해야 하는 이유

by 꾸션 2023. 7. 18.

 

웹을 탐색하며 페이지를 로드하거나, 온라인에서 데이터를 주고받을 때 우리가 사용하는 기본 프로토콜은 HTTP(Hypertext Transfer Protocol)입니다. 그러나 HTTP 프로토콜도 시간이 지남에 따라 발전하고 개선되었으며, 현재 가장 널리 사용되는 버전은 HTTP/1.1과 HTTP/2입니다. 이 두 프로토콜의 차이점은 무엇이며, 왜 우리는 HTTP/2를 사용해야 하는지 알아보겠습니다.

 

2023.03.20 - [프로그래밍/Network] - HTTP와 HTTPS의 기본 개념 및 동작 원리

 

HTTP/1.1과 HTTP/2의 차이점

다음은 HTTP/1.1과 HTTP/2의 주요 차이점을 요약한 표입니다.

  HTTP/1.1 HTTP/2
연결 복수의 연결 사용 단일 연결에서 멀티플렉싱 지원
헤더 압축 헤더 압축 미지원 HPACK을 통한 헤더 압축 지원
서버 푸시 서버 푸시 미지원 서버 푸시 지원
데이터 형태 텍스트 기반 이진 프로토콜 사용
요청 우선순위 요청 우선순위 미지원 요청 우선순위 설정 가능

 

단일 연결

HTTP/1.1에서는 각 요청과 응답마다 별도의 연결을 사용합니다. 이로 인해 여러 개의 동시 요청이 있을 때 성능 저하가 발생할 수 있습니다. 반면에 HTTP/2는 단일 TCP 연결에서 여러 개의 메시지를 동시에 주고받을 수 있는 "멀티플렉싱" 기술을 사용합니다. 이로 인해 HTTP/2는 네트워크 리소스를 훨씬 효율적으로 사용할 수 있습니다.

 

헤더 압축

HTTP/1.1에서는 모든 요청과 응답에 대한 헤더 정보를 일반 텍스트로 전송합니다. 이는 불필요한 네트워크 리소스를 사용할 수 있습니다. 반면에 HTTP/2는 "HPACK"이라는 알고리즘을 사용하여 헤더를 압축합니다. 이로 인해 전송되는 데이터의 양이 줄어들어 성능이 향상됩니다.

 

서버 푸시

HTTP/2는 "서버 푸시" 기능을 제공합니다. 이는 서버가 클라이언트의 요청을 기다리지 않고 필요한 리소스를 미리 전송할 수 있게 해줍니다. 예를 들어, 클라이언트가 HTML 문서를 요청하면, 서버는 그 문서에 연결된 CSS 파일과 JavaScript 파일을 미리 전송할 수 있습니다. HTTP/1.1에서는 이런 기능을 제공하지 않습니다.

 

이진 프로토콜

HTTP/1.1은 텍스트 기반의 프로토콜입니다. 반면에 HTTP/2는 이진 프로토콜을 사용합니다. 이진 데이터는 텍스트 데이터보다 더 효율적으로 전송되고 해석될 수 있습니다.

 

요청 우선순위

HTTP/2는 요청에 우선순위를 부여하는 기능을 제공합니다. 이는 서버가 더 중요한 리소스를 먼저 전송할 수 있게 해주어 효율성을 높여줍니다. HTTP/1.1에서는 이런 기능이 없습니다.

 

HTTP/2를 사용해야 하는 이유

위에서 본 것처럼, HTTP/2는 HTTP/1.1에 비해 여러 가지 개선된 기능을 제공합니다. 이는 웹 페이지 로딩 속도를 향상시키고 서버의 효율성을 높일 수 있습니다. 따라서, 성능 향상을 원하는 모든 웹사이트는 HTTP/2로 업그레이드를 고려해야 합니다.

 

물론, HTTP/2를 사용하려면 일부 추가 설정이 필요할 수 있습니다. 예를 들어, 대부분의 브라우저는 HTTP/2를 사용하기 위해 HTTPS 연결이 필요하므로, SSL 인증서를 설치해야 할 수 있습니다. 그러나 이런 추가 작업에도 불구하고, HTTP/2를 사용하는 것이 더 나은 웹 경험을 제공하므로 결국에는 가치 있는 투자가 될 것입니다.

반응형

댓글