이전 공지사항에 따라 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의 설계에 적용된 Push로부터 많은 것을 배웠습니다. 이제 진행을 완료하고 푸시에서 벗어날 차례입니다.
리소스
- Chromium의 모든 지원 중단 및 삭제
- ChromeStatus 항목: HTTP/2 푸시 삭제
- 삭제 의도: HTTP/2 및 gQUIC 서버 푸시
- Chromium 문제: 기본적으로 HTTP/2 푸시 사용 중지