Tăng tốc Web với HTTP3 và QUIC

  • Sunday 22/12/2019

Khi nói đến Internet, mục tiêu luôn là tốc độ. Sẽ rất nhanh thôi, chủ sở hữu trang web sẽ có tùy chọn sử dụng HTTP/3 mới để cải thiện tốc độ trang web và khi trình duyệt áp dụng giao thức mới, bạn sẽ thấy tốc độ tải xuống dữ liệu nhanh hơn.

HTTP3 là gì?

http3 quic

HTTP hay HyperText Transfer Protocol là giao thức mạng được World Wide Web sử dụng cho phép bạn mở các liên kết trang web. Mục đích chính của nó là để giao tiếp với một máy chủ web.

Giao thức này được phát triển vào cuối những năm 1980 và đầu những năm 1990, được phát hành ra công chúng vào năm 1996. Phiên bản đầu tiên của giao thức này là phiên bản duy nhất trong gần 20 năm cho đến khi phiên bản thứ hai, HTTP/2, được phát hành vào năm 2015. Thế hệ thứ hai của HTTP2 sử dụng kỹ thuật ống dẫn (pipeline) và nén dữ liệu để giúp kết nối nhanh hơn.

HTTP2 Multiplexing Single TCPConnection

Bây giờ, chỉ sau 4 năm, HTTP/3 đang bắt đầu tích hợp vào các trình duyệt và trang web, hứa hẹn sẽ làm cho Internet nhanh hơn nữa.

HTTP/3 đã được IETF (Internet Engineering Task Force) thông qua, với vai trò là một sự thay thế hiện đại hơn cho HTTP/2. Đó là sự pha trộn của nhiều công nghệ. Chúng phối hợp với nhau để cải thiện cả tốc độ và bảo mật khi truy cập thông tin trên Internet.

Công nghệ mới này gửi dữ liệu nhanh hơn, ít bị lỗi hơn và giảm độ trễ để trang web bắt đầu load nhanh khi bạn nhấp vào liên kết. HTTP/3 cũng có mã hóa tích hợp, do đó không cần phải có chỉ định HTTPS riêng. HTTP/3 chạy mã hóa TLS (Transport Layer Security) 1.3. Đó là cùng một giao thức, đại diện cho chữ “S” trong HTTPS

HTTP/3 dựa trên QUIC và trước đây được gọi là HTTP-over-QUIC. QUIC, hoặc Quick UDP Internet Connections, là một giao thức được phát triển bởi Google. Chi tiết về QUIC, các bạn có thể tham khảo https://kienthuc.pavietnam.vn/article/SSL/QUIC-la-gi?.html

Thực tế, QUIC đã được thêm vào Goolge Chrome từ năm 2013. Chrome sử dụng nó khi giao tiếp với các dịch vụ Google và một số trang web khác như Facebook và nó có trên các ứng dụng Android. Nhưng QUIC không phải là tiêu chuẩn được tích hợp vào các trình duyệt web khác. Với HTTP/3, công nghệ sẽ đến như một cách tiêu chuẩn cho các trình duyệt khác.

 

Cách thức hoạt động của HTTP/3

http3

 

Một điểm khác biệt quan trọng giữa HTTP/2 và HTTP/3 là cách chúng gửi các gói dữ liệu qua Internet. HTTP/3 mới sử dụng UDP thay vì TCP. Cả TCP và UDP đều là các giao thức được sử dụng để gửi các bit dữ liệu qua Internet. Tuy nhiên, với TCP cũ hơn, việc gửi các gói thông tin sẽ thông qua một phương thức được sắp xếp, kiểm tra lỗi và đáng tin cậy. Nghe có vẻ tuyệt vời, nhưng ngay cả khi chỉ một gói bị mất trong quá trình truyền, toàn bộ quá trình có thể bị hỏng, giống như một tai nạn gây ra kẹt xe.

HTTP/3 sử dụng giao thức UDP, gửi thông tin mà không cần được sắp xếp hoặc kiểm tra lỗi. HTTP/3 ít tin cậy nhưng nhanh hơn TCP. Nếu các gói bị mất, ứng dụng bạn đang sử dụng có thể yêu cầu các gói bị thiếu được gửi lại, sử dụng TCP để thực hiện. Nhưng, không giống như trong HTTP/2, gói bị mất đó chỉ ảnh hưởng đến dữ liệu trong gói đó. Nó không ảnh hưởng đến việc truyền những gói khác.

Giao thức HTTP mới nhất này tạo ra một kết nối duy nhất có khả năng gửi nhiều luồng dữ liệu như HTML, JavaScript, CSS và hình ảnh cùng một lúc.

Những quá trình handshake ban đầu nhanh hơn cũng giúp tăng tốc quá trình. Trong một quá trình handshake, hai trang web giao tiếp trao đổi tin nhắn để xác minh lẫn nhau, thiết lập mã hóa và khóa phiên.

Sau khi kết nối được thiết lập, dữ liệu bắt đầu được truyền bằng giao thức UDP. Các gói dữ liệu di chuyển theo thứ tự bất kỳ, làm cho việc truyền nhanh hơn. Nó hoạt động vì mỗi gói chứa một dấu hiệu nhận dạng giúp sắp xếp các gói sau khi chúng được nhận.

Hiện tại HTTP/3 xuất hiện ở đâu? Bạn có thể sử dụng công nghệ này không?

Nếu bạn đang sử dụng dịch vụ WordPress Hosting hoặc Web30S  với https được bật tại P.A Việt Nam được kích hoạt công nghệ QUIC dựa trên nền tảng WebServer LiteSpeed.

HTTP3 là một giao thức khá mới, và không phải tất cả các trình duyệt đều hỗ trợ nó.

HTTP/3 được thêm vào phiên bản Canary mới nhất của Google Chrome vào tháng 9/2019, ẩn sau flag dòng lệnh. Khởi chạy Chrome Canary với đối số dòng lệnh –enable-quic –quic-version=h3-23 để bật HTTP/3.

Trên Chrome, bạn có thể kích hoạt Flag để sử dụng  HTTP/3:

1. Nhập chrome://flags vào thanh địa chỉ trong Google Chrome

2. Xác định vị trí cài đặt “Experimental QUIC protocol” và kích hoạt nó.

 

Mozilla thông báo họ đang làm việc để thêm HTTP/3 vào phiên bản Firefox Nightly thử nghiệm vào mùa thu này.

Phiên bản dựa trên Chromium của Microsoft Edge sẽ kế thừa HTTP/3 của Google hoạt động cho Chrome cũng như các trình duyệt dựa trên Chromium khác như Opera. Hy vọng Apple cũng thêm HTTP/3 vào Safari trong tương lai.

Các trình duyệt dựa trên Chromium như Opera và Microsoft Edge sẽ kế thừa công nghệ HTTP/3 từ Google.

 

Cách kiểm tra website có áp dụng giao thức HTTP3 QUIC hay không?

Bạn thể kiểm tra thông qua website online như https://gf.dev/http3-test

Hoặc Bạn truy cập vào website trên trình duyệt Google Chrome với https và nhấn phím F12 (tab Network) bạn sẽ thấy http2+quic như hình sau tức là website của bạn đã được kích hoạt  http3 QUIC

Demo Http3 QUIC

Quic-Check

 

Nói tóm lại HTTP/3 là giao thức mới hơn, tốt hơn và nhanh hơn. Nó là giải pháp hiện đại hơn, nhằm mang đến sự cải thiện về bảo mật và tốc độ web.