Firefox dự kiến ​​sẽ ra mắt hỗ trợ HTTP/3 vào cuối tháng XNUMX.

Mozilla đã công bố ý định bắt đầu triển khai HTTP/3 và QUIC theo từng giai đoạn với việc phát hành Firefox 88, dự kiến ​​vào ngày 19 tháng 20 (ban đầu dự kiến ​​phát hành vào ngày 3 tháng 3, nhưng xét theo lịch trình, nó sẽ bị lùi lại một ngày). Hỗ trợ HTTP/XNUMX ban đầu sẽ chỉ được kích hoạt cho một tỷ lệ nhỏ người dùng và, trừ mọi sự cố không mong muốn, sẽ được triển khai cho tất cả mọi người vào cuối tháng XNUMX. Trong các phiên bản beta và bản dựng hàng đêm, HTTP/XNUMX được bật theo mặc định vào cuối tháng XNUMX.

Chúng ta hãy nhớ lại rằng việc triển khai HTTP/3 trong Firefox dựa trên dự án neqo do Mozilla phát triển, dự án này cung cấp triển khai máy khách và máy chủ cho giao thức QUIC. Mã thành phần hỗ trợ HTTP/3 và QUIC được viết bằng Rust. Để kiểm soát xem HTTP/3 có được bật hay không, about:config cung cấp tùy chọn “network.http.http3.enabled”. Từ phần mềm máy khách, hỗ trợ thử nghiệm cho HTTP/3 cũng đã được thêm vào Chrome và cuộn tròn, đồng thời đối với máy chủ, hỗ trợ này có sẵn trong nginx, cũng như ở dạng mô-đun nginx và máy chủ thử nghiệm từ Cloudflare. Về phía trang web, hỗ trợ HTTP/3 đã được cung cấp trên máy chủ Google và Facebook.

Giao thức HTTP/3 vẫn đang ở giai đoạn đặc tả dự thảo và chưa được IETF chuẩn hóa đầy đủ. HTTP/3 yêu cầu hỗ trợ máy khách và máy chủ cho cùng một phiên bản của tiêu chuẩn dự thảo QUIC và HTTP/3, được chỉ định trong tiêu đề Alt-Svc (Firefox hỗ trợ các bản nháp thông số kỹ thuật từ 27 đến 32).

HTTP/3 xác định việc sử dụng giao thức QUIC làm phương tiện truyền tải cho HTTP/2. Giao thức QUIC (Kết nối Internet UDP nhanh) được Google phát triển từ năm 2013 như một giải pháp thay thế cho kết hợp TCP+TLS cho Web, giải quyết các vấn đề về thời gian thiết lập và đàm phán lâu cho các kết nối trong TCP và loại bỏ sự chậm trễ khi gói bị mất trong quá trình truyền dữ liệu chuyển khoản. QUIC là phần mở rộng của giao thức UDP hỗ trợ ghép kênh nhiều kết nối và cung cấp các phương thức mã hóa tương đương với TLS/SSL. Trong quá trình phát triển tiêu chuẩn IETF, các thay đổi đã được thực hiện đối với giao thức, dẫn đến sự xuất hiện của hai nhánh song song, một dành cho HTTP/3 và nhánh thứ hai được Google hỗ trợ (Chrome hỗ trợ cả hai tùy chọn).

Các tính năng chính của QUIC:

  • Bảo mật cao tương tự TLS (về cơ bản QUIC cung cấp khả năng sử dụng TLS qua UDP);
  • Kiểm soát tính toàn vẹn luồng, ngăn ngừa mất gói;
  • Khả năng thiết lập kết nối ngay lập tức (0-RTT, trong khoảng 75% trường hợp, dữ liệu có thể được truyền ngay sau khi gửi gói thiết lập kết nối) và cung cấp độ trễ tối thiểu giữa việc gửi yêu cầu và nhận phản hồi (RTT, Thời gian khứ hồi);
  • Sử dụng số thứ tự khác khi truyền lại gói, điều này tránh sự mơ hồ trong việc xác định các gói đã nhận và loại bỏ thời gian chờ;
  • Việc mất gói chỉ ảnh hưởng đến việc phân phối luồng liên kết với nó và không dừng việc phân phối dữ liệu trong các luồng song song được truyền qua kết nối hiện tại;
  • Tính năng sửa lỗi giúp giảm thiểu độ trễ do truyền lại các gói bị mất. Sử dụng mã sửa lỗi đặc biệt ở cấp độ gói để giảm tình huống yêu cầu truyền lại dữ liệu gói bị mất.
  • Ranh giới khối mật mã được căn chỉnh với ranh giới gói QUIC, giúp giảm tác động của việc mất gói trong việc giải mã nội dung của các gói tiếp theo;
  • Không có vấn đề với việc chặn hàng đợi TCP;
  • Hỗ trợ mã định danh kết nối, giúp giảm thời gian cần thiết để thiết lập kết nối lại cho máy khách di động;
  • Khả năng kết nối các cơ chế kiểm soát tắc nghẽn kết nối tiên tiến;
  • Sử dụng các kỹ thuật dự đoán thông lượng theo hướng để đảm bảo tốc độ chuyển tiếp gói tối ưu, ngăn ngừa tắc nghẽn và mất gói;
  • Tăng đáng kể hiệu suất và thông lượng so với TCP. Đối với các dịch vụ video như YouTube, QUIC đã được chứng minh là giúp giảm 30% hoạt động lưu vào bộ đệm khi xem video.
  • Nguồn: opennet.ru

Thêm một lời nhận xét