Xoá tính năng đẩy máy chủ HTTP/2 khỏi Chrome

Tiếp nối thông báo trước, theo mặc định, tính năng hỗ trợ HTTP/2 Server Push sẽ bị tắt trong Chrome 106 và các trình duyệt dựa trên Chromium khác trong bản phát hành tiếp theo.

Tại sao nội dung này bị xoá?

Tính năng Đẩy máy chủ HTTP/2 cho phép các trang web chủ động gửi tài nguyên cần thiết cho trang thay vì chờ các tài nguyên này được yêu cầu. Tuy nhiên, đây là một vấn đề vì Jake Archibald đã viết về những vấn đề này trước đây và thường rất khó nhận ra lợi ích về hiệu suất. Kết quả là API này không được sử dụng nhiều với chỉ 1, 25% trang web HTTP/2 sử dụng tính năng này.

Việc phân tích việc sử dụng phương thức Đẩy máy chủ HTTP/2 có kết quả trái chiều (Chrome, Akamai), không có mức tăng hiệu suất ròng rõ ràng và trong nhiều trường hợp, hiệu suất sẽ giảm.

Chế độ đẩy không được triển khai trong nhiều máy chủ và ứng dụng khách HTTP/3, mặc dù phương thức này đã được đưa vào thông số kỹ thuật. Đối với phần lớn trang web sử dụng HTTP/3 mới hơn, chế độ phân phối Gửi dữ liệu đã được loại bỏ một cách hiệu quả. Khi chạy lại phân tích đó gần đây hơn, chúng ta thấy rằng mức hỗ trợ HTTP/2 của các trang web đã giảm xuống 0,7%.

Lựa chọn thay thế cho HTTP/2 Máy chủ đẩy

103 Gợi ý sớm là một giải pháp thay thế ít lỗi hơn nhiều với nhiều ưu điểm tương tự như phương thức Đẩy và cũng có ít nhược điểm hơn. Thay vì máy chủ đẩy tài nguyên, 103 Gợi ý sớm chỉ gửi gợi ý đến trình duyệt các tài nguyên có thể hưởng lợi từ việc yêu cầu ngay lập tức. Điều này sẽ giúp trình duyệt có quyền kiểm soát trong việc quyết định xem có cần những tài nguyên này hay không, ví dụ: trình duyệt đã có các tài nguyên đó trong bộ nhớ đệm HTTP.

Tải trước các tài nguyên quan trọng là một giải pháp thay thế khác cho phép trang và trình duyệt hoạt động cùng nhau để tải trước các tài nguyên quan trọng ngay khi tải trang. Mặc dù yêu cầu phải gửi trang trước tiên, do đó không nhanh bằng tính năng Đẩy máy chủ hoặc Gợi ý sớm, nhưng nó có một lợi ích khác là không trì hoãn tài nguyên trang quan trọng (có thể xảy ra với cả hai giải pháp đó).

Kết luận

Web cần để có thể thử mọi thứ và loại bỏ chúng khi chúng không được sử dụng. Mặc dù tiềm năng của tính năng Đẩy nghe có vẻ rất lớn, nhưng trong thực tế việc sử dụng tính năng này lại nhiều vấn đề hơn so với dự tính. Tuy nhiên, chúng ta đã học được rất nhiều từ chế độ Phân phối trong thiết kế 103 Gợi ý sớm. Giờ là lúc hoàn thành tiến trình và ngừng sử dụng chế độ Gửi dữ liệu.

Xác nhận

Hình ảnh chính của Scott Rodgerson trên Unsplash