Usunięcie metody push serwera HTTP/2 z Chrome

Zgodnie z poprzednim ogłoszeniem w Chrome 106 i innych przeglądarkach opartych na Chromium obsługa przesyłania danych przez serwer HTTP/2 będzie domyślnie wyłączona w kolejnych wersjach.

Dlaczego to zostało usunięte?

Protokół HTTP/2 Server Push umożliwiał witrynom proaktywne wysyłanie zasobów potrzebnych przez stronę zamiast czekania na żądanie. Było to jednak problematyczne, jak opisuje Jake Archibald w poprzednim artykule, a korzyści w zakresie wydajności były często trudne do osiągnięcia. W efekcie nie była ona zbyt często używana – tylko 1, 25% witryn HTTP/2 korzystało z tej funkcji.

Analiza korzystania z komunikatów push z serwera HTTP/2 przynosi mieszane wyniki (Chrome, Akamai). Nie ma wyraźnego wzrostu wydajności, a w wielu przypadkach następuje jej spadek.

Komunikaty push nie zostały zaimplementowane na wielu serwerach i klientach HTTP/3, mimo że były uwzględnione w specyfikacji. W przypadku większości stron internetowych korzystających z nowszego protokołu HTTP/3 technologia push została już wycofana. Gdy ponownie przeprowadziliśmy tę analizę, okazało się, że odsetek witryn obsługujących HTTP/2 zmniejszył się z 1,25% do 0,7%.

Alternatywy dla komunikatów push z serwera HTTP/2

103 Early Hints to znacznie mniej podatna na błędy alternatywa, która ma wiele zalet metody Push, a znacznie mniej wad. Zamiast przesyłać zasoby, serwer 103 Early Hints wysyła do przeglądarki tylko wskazówki dotyczące zasobów, które warto od razu poprosić. To pozwala przeglądarce decydować, czy potrzebuje tych zasobów, np. czy są one już dostępne w pamięci podręcznej HTTP.

Wstępne wczytywanie kluczowych zasobów to kolejna opcja, która umożliwia stronie i przeglądarce współpracę w celu zapobiegawczego wczytania kluczowych zasobów na wczesnym etapie wczytywania strony. Wymaga to jednak wysłania najpierw samej strony, więc nie jest to tak szybkie jak w przypadku metody Server Push czy wczesnych wskazówek. Ma to jednak dodatkową zaletę, ponieważ nie powoduje opóźnienia tego ważnego zasobu strony, co może się zdarzyć w przypadku obu tych rozwiązań.

Podsumowanie

Internet musi umożliwiać testowanie różnych rzeczy i usuwanie ich, gdy nie są używane. Chociaż potencjał powiadomień push wydawał się świetny, w praktyce jego używanie było bardziej problematyczne, niż zakładano. Wiele się jednak nauczyliśmy od Pusha, co wykorzystaliśmy w przypadku 103 Early Hints. Teraz nadszedł czas na dokończenie procesu i odejście od metody Push.

Zasoby