HTTP/3 là gì? Hướng dẫn kích hoạt HTTP/3 cho website một cách đơn giản.
Trong khi bạn đang “vật vã” với HTTP/1.1, HTTP/2 thì ngoài kia, HTTP/3 đã âm thầm được ra mắt và nhiều website đã bắt đầu chuyển qua sử dụng giao thức mới này. Vậy HTTP/3 là gì? Nó có những ưu điểm gì khi so sánh với các phiên bản cũ hơn? Làm thế nào để kích hoạt HTTP/3 cho website của bạn theo cách đơn giản nhất? Hãy cùng WP Căn bản dành ra ít phút để tìm hiểu ngay sau đây. Bởi vì, HTTP/3 chắc chắn sẽ giúp website của bạn nhanh lên trông thấy.
Tham khảo thêm:
- Có nên sử dụng dịch vụ CloudFlare cho website hay không?
- Làm thế nào để sử dụng CloudFlare một cách hiệu quả?
HTTP/3 là gì?
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 website. 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 (HTTP/1.1) 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 HTTP 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.
Giờ đây, sau khoảng 4 năm, HTTP/3 (HTTP thế hệ thứ ba) đang bắt đầu được 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 độ lẫn 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ễ đán kể khi bạn click 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 sử dụng mã hóa TLS (Transport Layer Security) phiên bản 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 (viết tắt của Quick UDP Internet Connections) là một giao thức được phát triển bởi Google.
HTTP/3 khác biệt gì so với phần còn lại?
Dù Google đã triển khai chuẩn giao tiếp này trên các website của hãng từ năm 2014, nhưng tỉ lệ website sử dụng HTTP/3 vẫn rất thấp, tại sao vậy?
Trước tiên, hãy nhìn lại các chuẩn HTTP/1.1 và HTTP/2 đang được sử dụng rộng rãi hiện nay. Các chuẩn này đang sử dụng giao thức TCP, trong khi HTTP/3 lại sử dụng UDP.
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. UDP í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 và HTTP/1.1, 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.
Có nên sử dụng HTTP/3 hay không?
Về độ ổn định, các kĩ sư của Google và cộng đồng lập trình viên đang cố gắng để khắc phục các nhược điểm của UDP nhờ cơ chế điều khiển tắc nghẽn (congestion control) truyền thống như TCP, giúp đánh số thứ tự cho gói tin, đảm bảo dữ liệu có thể truyền đi mà không mất mát, hư hỏng. Việc khôi phục gói tin bị mất còn nhanh hơn TCP. Cũng nhờ cơ chế này, mọi vấn đề về kết nối mạng không ổn định sẽ không ảnh hưởng đến toàn bộ request của website, còn được biết tới với tên gọi HoL (Head-of-Line) blocking.
Về tốc độ, HTTP/3 có thể dễ dàng đánh bại giao thức HTTP/1.1 và HTTP/2 nhờ công nghệ 0-RTT (Zero Round Trip Time Resumption).
Vài trăm mili giây có thể là nhỏ. Nhưng hãy nhớ rằng, thiết bị di động đang lên ngôi trong khi không phải mạng di động nào cũng ổn định. Sự khác biệt vài trăm mili giây ở mạng cáp quang có thể là vài giây ở kết nối di động đấy.
Các trình duyệt web hỗ trợ HTTP/3
Tính đến thời điểm hiện tại, mới chỉ có Google Chrome (từ phiên bản 79, phát hành tháng 12/20219 trở đi) và Mozilla Firefox (từ phiên bản 72.0.1, phát hành tháng 1/2020 trở đi) là chính thức hỗ trợ HTTP/3. Tuy nhiên, đây là 2 trình duyệt web chiếm thị phần rất lớn (gần 80% trên toàn thế giới) nên rất đáng để các bạn đón đầu công nghệ. Các trình duyệt web khác như Safari, Opera hay Microsoft Edge vẫn chưa có động thái gì.
Kích hoạt HTTP/3 cho website
Một số web server hiện tại đã hỗ trợ HTTP/3, chẳng hạn như LiteSpeed hay Caddy. Tuy nhiên, không phải host nào đang chạy web server LiteSpeed cũng được kích hoạt HTTP/3. Điều này hoàn toàn phụ thuộc vào nhà cung cấp dịch vụ hosting của bạn.
Trong trường hợp hosting chưa hỗ trợ sẵn HTTP/3, các bạn vẫn có thể kích hoạt nó một cách dễ dàng nhờ dịch vụ CloudFlare CDN.
Nếu website của bạn đang sử dụng dịch vụ CloudFlare CDN, tất cả những gì bạn cần làm là đăng nhập vào tài khoản => chọn tên miền muốn kích hoạt => click vào tab Network => chuyển mục HTTP/3 (with QUIC) sang trạng thái On
.
Nếu mục HTTP/2 chưa được bật thì các bạn cũng tiện tay chuyển nó sang trạng thái On
luôn nhé.
Website của bạn đã được kích hoạt HTTP/3 hay chưa?
Bạn có thể kiểm tra điều này một cách dễ dàng thông qua 2 phương pháp: sử dụng Google Developer Tools hoặc website HTTP/3 Check.
Sử dụng Google Dev Tools
Trên trình duyệt Google Chrome, click chuột phải vào giao diện website và chọn Inspect (hoặc bấm phím F12) => khi Google Dev Tools hiện lên, hãy chọn tab Network
Nếu bạn không thấy cột Protocol, hãy click chuột phải vào thanh tiêu đề rồi tick chọn Protocol.
Sử dụng website HTTP/3 Check
Nếu bạn kích hoạt HTTP/3 thông qua CloudFlare, khi sử dụng Chrome Dev Tools để kiểm tra, bạn sẽ vẫn chỉ thấy Protocol là h2
(HTTP/2) thay vì http/2 + quic/xx
. Trong trường hợp này, bạn sẽ cần sử dụng tới công cụ HTTP/3 Check được phát triển bởi LiteSpeed Technologies Inc để biết chắc chắn đã kích hoạt HTTP/3 thành công hay chưa?
Truy cập website HTTP/3 Check, nhập link website của bạn vào khung rồi click nút Search. Chờ trong giây lát và xem kết quả:
- Website đã được kích hoạt HTTP/3 thông qua CloudFlare:
- Website đã được kích hoạt HTTP/3 thông qua web server LiteSpeed:
- Website chưa được kích hoạt HTTP/3:
Kết luận
HTTP/3 có ưu điểm vượt trội so với các phiên bản tiền nhiệm và hiện tại nó đã được hỗ trợ bởi những trình duyệt web phổ biến nhất (chiếm 80% thị phần). Do đó, đây là lúc để nâng cấp lên HTTP/3 nhằm giúp website của bạn load nhanh hơn, bảo mật tốt hơn.
Website của bạn đã được kích hoạt HTTP/3 chưa? Bạn đã sử dụng phương pháp nào để làm điều đó? Hãy chia sẻ nó với chúng tôi trong khung bình luận bên dưới.
Nếu bạn thích bài viết này, hãy subscribe blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất qua email nhé. Cảm ơn rất nhiều. :)
có host nào đang tích hợp sẵn http/3 không ad. hay phải thông qua trung gian như cloudflare ạ
Nhiều mà bạn. Host nào chạy web server LiteSpeed thì hầu như đều đã bật sẵn HTTP/3 nhé. Nếu bạn cần thì có thể tham khảo dịch vụ WordPress Hosting của bên mình.
Cảm nhận trãi nghiệm sau 30p bật HTTP/3
1. Tốc độ load: PC bình thường nhanh rồi nên kô cảm nhận được :P mobile ~1.5s =? ~1s(tuyệt vời)
2. gtmetrix: điểm số không có gì thay đổi.
3. Pagespeed Insights: không có gì thay đổi
4. Audit: trước khi bật HTTP/3: Performance ổn định 84-86 cả mobile lẫn pc, sau khi bật Performance không được ổn định cho lắm: giao động từ 6x-9x, 70% 8x, 20% 9x, 10% < 80 nói chung là 90% bằng hoặc tốt hơn trước là quá ok luôn.
Cảm ơn chia sẻ của #ad, bản thân mình sẽ tiếp tục theo dõi và cảm nhận sự khác biệt với HTTP/3 :)
Update: tốc độ load mobile từ 1.5s xuống 1s nhé m.n
Bạn bật thông qua CloudFlare CDN à? :D
Đúng rồi Admin, bật trên cloudflare, bật luôn cái 0-RTT Connection Resumption
Nếu bật HTTP3, khi website chạy trên các trình duyệt kô hỗ trợ, thì nó sẽ tự chạy http2/1.1 đúng kô Admin nhỉ?
Đúng rồi bạn. Không thế thì ai dám dùng. :D
Cảm ơn Ad :D