IETF chịu trách nhiệm thông qua nhiều tiêu chuẩn quan trọng với internet và web. Một trong số đó là HTTP, giao thức mà các trình duyệt dùng để truy cập các trang web. Năm 2013, Google giới thiệu một giao thức thử nghiệm với tên gọi là Quick UDP Internet Connections (QUIC), giao thức có thể làm cho các yêu cầu HTTP thực hiện nhanh hơn và an toàn hơn. Sau đó, Google đề xuất ý tưởng thực thi các yêu cầu HTTP bằng QUIC vào năm 2016. IETF cải tiến giao thức đó, tạo ra phiên bản riêng của mình (phiên bản này đôi khi được gọi là iQUIC, để phân biệt với gQUIC của Google).
IETF đã xúc tiến việc thực thi HTTP trên QUIC trong một thời gian. Và vào ngày 18/10 vừa qua, Mark Nottingham, người phụ trách nhóm HTTP và QUIC, đề xuất rằng đã đến lúc nên gọi đặc tả mới là HTTP/3. Điều này sẽ làm cho nó trở thành phiên bản chính mới của HTTP và nó sẽ thể hiện một thay đổi quan trọng: một internet nhanh hơn.
QUIC làm cho các kết nối mạng nhanh hơn bằng cách giảm số vòng trao đổi qua lại mà một máy tính phải thực hiện khi tải xuống thông tin từ internet qua giao thức HTTP. Các vòng trao đổi này là cần thiết trong các yêu cầu HTTP vì client (thường là trình duyệt) phải thiết lập kết nối với máy chủ. Để nhận được sự tin tưởng trong việc thiết lập kết nối này, máy chủ cần có thông tin về client. Nếu client đã từng kết nối và được tin cậy, việc kết nối sẽ được thực hiện ngay lập tức. Nếu client kết nối lần đầu, máy chủ sẽ yêu cầu client cung cấp thông tin trước khi gửi yêu cầu, sau khi xác thực thông tin này là tin cậy máy chủ mới cho phép kết nối và thêm vào danh sách client đã từng kết nối và được tin cậy để bỏ qua bước xác thực khi kết nối lần sau.
Giao thức này còn có một số cải tiến khác. Một trong số đó xuất phát từ những thứ đã có trong HTTP/2, ví dụ như dùng nhiều kết nối cùng một lúc. Nó cũng ước lượng trước băng thông mà các kết nối sẽ dùng theo các hướng và cố gắng giảm thiểu những xung đột bằng cách thu xếp quá trình truyền các gói tin, dùng biện pháp khắc phục lỗi để giảm thiểu việc phải truyền lại dữ liệu bị thất thoát.
QUIC cũng sử dụng phiên bản 1.3 của giao thức mã hoá TLS, phiên bản đề xuất chính thức của IETF hồi tháng 8. Không giống như HTTP/2, TLS 1.3 không còn là yêu cầu được tuỳ chọn. Nếu muốn đạt được tốc độ của HTTP/3, buộc phải sử dụng phiên bản TLS 1.3 (điểu này sẽ mang lại độ an toàn cao hơn).
Một thay đổi lớn mà Google thực hiện khi thiết kế QUIC là từ bỏ các cơ chế mạng lõi dùng cho truyền nhận, vốn được gọi là giao thức Transmission Control Protocol (TCP). TCP đã là yếu tố căn bản của cộng đồng internet kể từ giữa thập kỷ 70 (của thế kỷ trước). Nhưng QUIC đã chuyển sang giao thức User Datagram Protocol (UDP), vốn được thiết kế cho các trao đổi có độ trễ nhỏ. UDP tập trung vào việc gửi các gói tin và tránh sử dụng các chức năng bổ sung mà TCP cung cấp như gửi lại gói tin bị mất, đóng gói lại các gói tin theo đúng trình tự. Điều đó khiến cho giao thức này nhanh hơn.
Mong muốn chuyển sang UDP là nguyên nhân khiến Google không tiếp tục với SPDY, một giao thức mà chính họ đề xuất trước đó. SPDY là một giao thức dựa trên TCP, vốn cũng được thiết kế để làm cho truyền nhận HTTP nhanh hơn. Giao thức này là cơ sở hình thành nên HTTP/2, phiên bản được thông qua năm 2015, nhưng đã ngưng hỗ trợ nó ngay trong năm đó.
Google ước tính rằng các yêu cầu HTTP truyền thống dựa trên TCP cần khoảng 100 mili giây vì client phải thiết lập kết nối với máy chủ trước khi yêu cầu bất cứ thứ gì. Khi sử dụng TLS để nâng cao độ bảo mật thì thời gian còn tăng lên tới 300 mili giây. Với các kết nối QUIC, thời gian kết nối ban đầu cũng giống như kết nối TCP. Nhưng khi client đã từng trao đổi với máy chủ thì thời gian giảm xuống bằng 0 vì không cần vòng trao đổi nào nữa. Máy chủ đã biết về client nên không cần giới thiệu nữa.
Bản dự thảo của IETF về HTTP trên QUIC được công bố hôm 24/10. Việc thông qua nó sẽ cần một thời gian nữa. Ngay cả khi nó được thông qua thì thế giới cũng không thể chuyển ngay lập tức sang HTTP/3. Tuy nhiên, các website sử dụng HTTP/3 sẽ có thể đáp ứng yêu cầu của các trình duyệt tuân thủ tiêu chuẩn này nhanh hơn và an toàn hơn.
Nguyễn Anh Tuấn (Theo The Hacker News)