html3

HTTP / 3 là thế hệ tiếp theo của giao thức HTTP. Nó được cung cấp bởi QUIC, thay thế TCP ở tầng vận chuyển và cắt giảm số lượng các chuyến đi khứ hồi mà khách hàng phải thực hiện để thiết lập kết nối.

Điều gì làm cho nó tốt hơn?

Nếu bạn không thể biết từ viết tắt của QUIC, thì HTTP HTTP / 3 nhanh hơn nhiều.

HTTP chỉ là một phần của mô hình OSI , cung cấp năng lượng cho internet như chúng ta biết. Mỗi lớp của mô hình phục vụ một mục đích khác nhau, với các API cấp cao như HTTP ngồi ở trên cùng (lớp ứng dụng), tất cả các đường dẫn đến các dây và kết nối vật lý cắm vào bộ định tuyến:

HTTP là một phần của mô hình OSI

Nhưng có một điểm nghẽn trong mô hình này và mặc dù có tên mới, nhưng tiêu chuẩn HTTP không phải là vấn đề.

TCP (lớp vận chuyển) là thủ phạm ở đây; nó được thiết kế từ những năm 70 và do đó không được chế tạo để xử lý giao tiếp thời gian thực rất tốt. HTTP-over-TCP đã đạt đến giới hạn của nó. Google và phần còn lại của không gian công nghệ đã và đang nghiên cứu thay thế TCP.

Vào năm 2012, Google đã tạo ra SPDY, một giao thức được xây dựng dựa trên TCP và khắc phục rất nhiều vấn đề phổ biến. Bản thân SPDY không được dùng nữa, nhưng các phần của nó đã xâm nhập vào HTTP / 2, hiện đang được sử dụng bởi 40% web .

QUIC là một tiêu chuẩn mới, giống như SPDY, nhưng nó được xây dựng dựa trên UDP chứ không phải TCP. UDP nhanh hơn nhiều so với TCP, nhưng thường kém tin cậy hơn vì nó không có cùng kiểm tra lỗi và ngăn ngừa mất mát như TCP. Nó thường được sử dụng trong các ứng dụng mà không cần gói được trong chính xác thứ tự đúng, nhưng chăm sóc về độ trễ (chẳng hạn như gọi điện thoại video trực tiếp).

QUIC vẫn đáng tin cậy, nhưng nó thực hiện kiểm tra lỗi và độ tin cậy của nó trên UDP, vì vậy nó có được cả hai giao thức tốt nhất. Lần đầu tiên người dùng kết nối với trang web hỗ trợ QUIC, họ sẽ làm như vậy qua TCP.

Vấn đề chính với TCP mà QUIC khắc phục là chặn đầu dòng. Khi một kết nối được thực hiện giữa máy chủ và máy khách, máy chủ sẽ gửi các gói dữ liệu đến máy khách. Nếu kết nối không tốt và một gói bị mất, máy khách sẽ giữ lại tất cả các gói đã nhận sau đó cho đến khi máy chủ truyền lại gói bị mất. HTTP / 2 đã khắc phục vấn đề này phần nào, bằng cách cho phép nhiều lần chuyển qua cùng một kết nối TCP, nhưng nó không hoàn hảo và thực sự có thể chậm hơn HTTP / 1 với các kết nối bị mất cao.

QUIC khắc phục vấn đề này và xử lý các kết nối mất mát tốt hơn nhiều. Các thử nghiệm ban đầu từ Google cho thấy sự cải thiện khoảng 15% trong các tình huống có độ trễ cao và cải thiện tới 30% trong bộ đệm video trên các kết nối di động. Vì QUIC cắt giảm số lượng bắt tay phải được thực hiện, sẽ có những cải tiến về độ trễ trên bảng.

Có khó thực hiện không?

Mặc dù QUIC là một tiêu chuẩn mới, nhưng nó được xây dựng dựa trên UDP, một tiêu chuẩn đã được hỗ trợ gần như ở mọi nơi. Nó sẽ không yêu cầu bất kỳ bản cập nhật kernel mới nào, có thể gây rắc rối cho các máy chủ. QUIC nên hoạt động tốt trên mọi hệ thống hỗ trợ UDP

HTTP-over-QUIC phải là sự thay thế thả xuống cho HTTP-over-TCP một khi nó có sẵn. Tại thời điểm viết bài, Chrome có hỗ trợ cho QUIC nhưng mặc định nó bị vô hiệu hóa. Bạn có thể kích hoạt nó để thử nghiệm bằng cách đi đến:

chrome: // flags

và bật cờ Giao thức QUIC thử nghiệm QUIC. Firefox sẽ thêm hỗ trợ vào cuối mùa thu này và khi Edge chuyển sang Chromium, họ cũng sẽ sớm nhận được hỗ trợ.

Ở cuối máy chủ, Nếu bạn đang sử dụng CloudFlare làm CDN, bạn sẽ có thể bật tùy chọn đã có trong bảng điều khiển của mình, mặc dù bạn sẽ không có nhiều khách hàng thực sự sử dụng nó cho đến khi trình duyệt di động bật mặc định. Nhanh chóng là tích cực làm việc trên hỗ trợ . Tuy nhiên, nếu bạn muốn kích hoạt nó trên máy chủ web của mình, bạn sẽ phải chờ một chút hỗ trợ sớm cho QUIC dự kiến ​​sẽ đến trong chu kỳ phát triển nginx 1.17 , nhưng chưa có hỗ trợ Apache.

Khi nginx và Apache được cập nhật để hỗ trợ nó, việc thêm QUIC vào trang web hoặc ứng dụng web của bạn sẽ đơn giản như cập nhật máy chủ web của bạn và bật tùy chọn. Bạn sẽ không phải thực hiện bất kỳ thay đổi nào đối với ứng dụng hoặc mã của mình, vì mọi thứ đều được xử lý ở cấp cơ sở hạ tầng. Nó chưa ở đây, nhưng nó sẽ đến rất sớm, và bạn chắc chắn sẽ muốn kích hoạt nó một khi nó được hỗ trợ theo mặc định

Để lại một bình luận