Chrome에서 HTTP/2 서버 푸시 삭제

이전 공지사항에 따라 Chrome 106 및 향후 출시되는 다른 Chromium 기반 브라우저에서 HTTP/2 서버 푸시 지원이 기본적으로 사용 중지됩니다.

이 기능이 삭제되는 이유는 무엇인가요?

HTTP/2 서버 푸시를 사용하면 웹사이트에서 페이지에 필요한 리소스가 요청될 때까지 기다리지 않고 먼저 전송할 수 있었습니다. 하지만 제이크 아치볼드가 이전에 썼던 것처럼 문제가 있었고 성능 이점을 실현하기가 어려운 경우가 많았습니다. 그 결과 이 기능은 HTTP/2 사이트의 1.25% 만이 사용하는 등 많이 사용되지 않았습니다.

HTTP/2 서버 푸시 사용에 대한 분석 결과는 명확한 순 성능 향상 없이 혼합되어 있으며 많은 경우 성능이 저하되었습니다 (Chrome, Akamai).

푸시는 사양에 포함되어 있었지만 많은 HTTP/3 서버와 클라이언트에서 구현되지 않았습니다. 최신 HTTP/3를 사용하는 대부분의 웹에서는 푸시가 이미 지원 중단되었습니다. 최근에 이 분석을 다시 실행한 결과, 사이트의 HTTP/2 지원률이 1.25% 에서 0.7%로 감소한 것으로 나타났습니다.

HTTP/2 서버 푸시의 대안

103 사전 힌트는 푸시와 거의 동일한 장점과 훨씬 적은 단점을 갖춘 푸시보다 오류가 적은 대안입니다. 103 Early Hints는 서버가 리소스를 푸시하는 대신 즉시 요청하면 유용할 수 있는 리소스의 힌트만 브라우저에 전송합니다. 이렇게 하면 브라우저에서 이러한 리소스가 필요한지 여부를 결정할 수 있습니다(예: HTTP 캐시에 이러한 리소스가 이미 있는 경우).

중요한 리소스 미리 로드는 페이지와 브라우저가 함께 작동하여 페이지 로드 초기에 중요한 리소스를 선제적으로 로드할 수 있는 또 다른 방법입니다. 이렇게 하려면 페이지 자체를 먼저 전송해야 하므로 서버 푸시나 조기 힌트만큼 빠르지는 않지만, 두 솔루션 모두에서 발생할 수 있는 중요한 페이지 리소스를 지연시키지 않는다는 이점이 있습니다.

결론

웹은 무언가를 시도하고 사용되지 않을 때는 삭제할 수 있어야 합니다. 푸시의 잠재력은 훌륭해 보였지만 실제로는 예상보다 더 많은 문제가 있었습니다. 하지만 푸시를 통해 103 Early Hints의 설계에 반영된 많은 것을 배웠습니다. 이제 진행 상황을 완료하고 푸시를 종료할 차례입니다.

리소스