HTTP/2: Nhanh hơn HTTP/1.1 như thế nào

Tram Ho

HTTP/1.1 đã trở thành đặc điểm của Internet trong hơn một thập kỷ, nhưng những hạn chế của nó ngày càng trở nên rõ ràng hơn khi lưu lượng truy cập web bùng nổ trong những năm gần đây. Để giải quyết những hạn chế này, giao thức HTTP/2 đã được giới thiệu vào năm 2015. Trong bài viết này, chúng ta sẽ khám phá những cách chính giúp HTTP/2 nhanh hơn HTTP/1.1.

1. Ghép kênh

Một trong những hạn chế lớn nhất của HTTP/1.1 là nó chỉ cho phép một chu kỳ phản hồi yêu cầu duy nhất tại một thời điểm trên một kết nối TCP. Điều này có nghĩa là nếu một trang web có nhiều tài nguyên, chẳng hạn như hình ảnh, tập lệnh và biểu định kiểu, thì mỗi tài nguyên trong số này phải được yêu cầu và phân phối lần lượt theo kiểu nối tiếp.

Mặt khác, HTTP/2 hỗ trợ ghép kênh, có nghĩa là nhiều yêu cầu và phản hồi có thể được gửi qua một kết nối TCP cùng một lúc. Điều này cho phép các tài nguyên được yêu cầu và phân phối song song, giúp giảm đáng kể thời gian tải trang.

2. Đẩy máy chủ

HTTP/1.1 yêu cầu máy khách yêu cầu từng tài nguyên riêng lẻ. Điều này có nghĩa là máy chủ không có cách nào để biết máy khách sẽ cần tài nguyên nào trong tương lai và phải đợi từng yêu cầu trước khi gửi tài nguyên tương ứng.

HTTP/2 giới thiệu một tính năng mới gọi là Server Push, cho phép máy chủ gửi tài nguyên đến máy khách trước khi chúng được yêu cầu. Điều này có thể làm giảm đáng kể độ trễ của các yêu cầu tiếp theo vì các tài nguyên được yêu cầu đã có trong bộ đệm của máy khách.

3. Nén tiêu đề

Tiêu đề HTTP/1.1 được gửi cùng với mỗi yêu cầu và phản hồi và có thể chứa nhiều thông tin dư thừa. Điều này có thể dẫn đến việc gửi nhiều dữ liệu không cần thiết qua mạng, làm chậm thời gian tải trang.

HTTP/2 sử dụng một thuật toán nén mới gọi là HPACK để nén các tiêu đề trước khi chúng được gửi qua mạng. Điều này làm giảm lượng dữ liệu cần truyền, cải thiện hiệu suất và giảm mức sử dụng băng thông.

4. Giao thức nhị phân

HTTP/1.1 sử dụng giao thức dựa trên văn bản, giao thức này dễ đọc và dễ hiểu nhưng có thể không hiệu quả đối với máy tính để phân tích cú pháp. Điều này là do các giao thức dựa trên văn bản yêu cầu xử lý nhiều hơn để chuyển đổi văn bản thành mã có thể đọc được bằng máy.

Mặt khác, HTTP/2 sử dụng giao thức nhị phân, được thiết kế để máy tính phân tích cú pháp hiệu quả hơn. Điều này làm giảm thời gian xử lý cần thiết cho mỗi yêu cầu, dẫn đến thời gian tải trang nhanh hơn.

5. Ưu tiên

Trong HTTP/1.1, tất cả các yêu cầu đều có cùng mức độ ưu tiên, điều này có thể dẫn đến thời gian tải trang chậm hơn nếu một số tài nguyên quan trọng hơn những tài nguyên khác.

HTTP/2 cho phép các yêu cầu được ưu tiên dựa trên mức độ quan trọng của chúng, cho phép các tài nguyên quan trọng được phân phối nhanh hơn. Điều này có thể cải thiện đáng kể thời gian tải trang, đặc biệt là trên các trang web phức tạp.

Tóm lại , HTTP/2 nhanh hơn HTTP/1.1 do nó hỗ trợ ghép kênh, đẩy máy chủ, nén tiêu đề, giao thức nhị phân và ưu tiên. Mặc dù HTTP/1.1 đã phục vụ tốt cho internet trong nhiều năm, nhưng những hạn chế của nó ngày càng trở nên rõ ràng hơn khi lưu lượng truy cập web tăng lên. Bằng cách giải quyết những hạn chế này, HTTP/2 sẵn sàng trở thành tiêu chuẩn mới cho giao tiếp trên web.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo