HTTP/2는 HTTP 표준의 주요 업그레이드 버전으로, 인터넷 전반에서 클라이언트와 서버 간 상호작용의 속도와 보안을 개선하는 것을 목표로 합니다. HTTP/2는 이전 버전과의 호환성을 유지하면서 여러 새로운 기능을 추가하므로, HTTP/2를 지원하지 않는 브라우저와 서버도 계속 정상적으로 작동하며, 지원하는 경우에는 향상된 성능을 활용할 수 있습니다.

속도 개선

HTTP/2 개선의 핵심은 속도입니다. HTTP/1의 주요 한계는 하나의 연결에서 한 번에 하나의 리소스 요청만 처리할 수 있다는 점입니다. 대부분의 웹 페이지처럼 수십 개의 이미지, 스크립트, 스타일시트로 구성된 웹 페이지의 로딩 시간을 최소화하기 위해 브라우저는 일반적으로 한 사이트에 여러 HTTP/1 연결을 동시에 열어 리소스를 병렬로 요청합니다. 이때 각 연결마다 상당한 오버헤드가 발생합니다. HTTP/2는 다중화 연결을 사용하여 하나의 연결을 통해 여러 리소스를 전송함으로써 클라이언트와 웹 서버 간의 연결 수를 크게 줄입니다。

HTTP/2는 압축도 광범위하게 활용하여 대역폭을 절약하고 성능을 향상합니다. HTTP/2에서는 헤더가 사람이 읽을 수 있는 일반 텍스트가 아니라 압축된 바이너리 형식으로 전송됩니다. 대역폭이 크게 절약되므로 헤더를 압축하고 압축 해제하는 데 따른 CPU 부하의 소폭 증가와 사람이 헤더를 읽을 수 없어 겪는 불편함(예: 디버깅 시)을 충분히 상쇄할 수 있습니다.

HTTP/2에는 페이지 로딩 시 사용자 경험을 개선하기 위한 리소스 우선순위 지정 기능도 도입되었습니다. 이제 웹 브라우저와 기타 클라이언트는 리소스를 수신하려는 순서를 지정할 수 있습니다. HTTP/2를 제대로 지원하는 브라우저는 사용자가 먼저 확인해야 하는 리소스에 우선순위를 지정하여 페이지를 훨씬 빠르게 렌더링할 수 있습니다. HTTP/2 성능에 대한 초기 테스트 결과, 일부 페이지의 로딩 속도가 거의 두 배 빨라진 것으로 나타났습니다.

보안 개선

HTTP/2가 HTTP의 보안 요구 사항을 명시적으로 변경한 것은 아니지만, HTTP/2를 사용하는 거의 모든 브라우저는 웹사이트에서 SSL/TLS를 활성화하도록 요구합니다 따라서 사실상 필수 사항입니다. HTTP/2는 클라이언트당 하나의 다중화 연결을 사용하므로 웹사이트 보안에 드는 비용이 크게 줄었습니다. 브라우저가 여는 수많은 연결마다 SSL/TLS 핸드셰이크(클라이언트와 서버가 서로의 신원을 확인하고 암호화 키를 교환하는 과정)를 수행하는 대신, 클라이언트 세션이 지속되는 전체 기간 동안 단 한 번만 수행하면 됩니다.

NGINX Plus는 어떻게 도움이 될까요?

NGINX Plus

  • NGINX Plus는 고성능, 높은 동시 접속이 필요한 배포 환경을 위해 개발되었습니다. HTTP/2를 사용하여 사이트 속도를 최적화하고 있다면 NGINX Plus로 성능을 극대화할 수 있습니다.
  • 속도 향상은 뛰어난 사용자 경험을 제공하기 위한 요소 중 하나일 뿐입니다. NGINX Plus는 포괄적인 모니터링 기능을 제공하므로 HTTP/2 지원이 사용자에게 미치는 영향을 추적할 수 있습니다.

HTTP/2와 TLS는 사이트 성능을 개선하고 사용자가 사이트와 안전하게 상호작용할 수 있다는 확신을 주는 데 도움이 됩니다. 누구보다 먼저 HTTP/2를 도입하려는 경우든 경쟁업체를 따라잡으려는 경우든, 이 컨퍼런스 발표를 통해 HTTP/2의 기능과 장점, 단점을 자세히 알아보세요.