HTTP/2는 인터넷에서 클라이언트-서버 상호작용의 속도와 보안을 개선하는 것을 목표로 한 HTTP 표준의 주요 업그레이드입니다. HTTP/2는 이전 버전과의 호환성을 유지하면서 여러 가지 새로운 기능을 추가하므로 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 플러스
HTTP/2와 TLS는 사이트 성능을 향상시키고 사용자에게 사이트와의 상호작용이 안전하다는 것을 알려줍니다. HTTP/2를 구현하는 데 있어 선두주자이든 경쟁자를 따라잡고 있든, 이 컨퍼런스 토크를 시청하여 HTTP/2의 기능, 장점, 단점에 대한 심층적인 토론을 들어보세요.