Trình kiểm tra HTTP/2

5 trên 2 xếp hạng

Trình kiểm tra HTTP/2 là công cụ miễn phí giúp xác minh một trang web có đang sử dụng giao thức mạng HTTP/2 hay không.

Kiểm tra HTTP/2 thực sự kiểm tra điều gì?

Phép kiểm tra HTTP/2 xác định máy chủ web có thể giao tiếp bằng HTTP/2 cho trang web được yêu cầu hay không. HTTP/2 là một phiên bản của Giao thức truyền siêu văn bản, tức bộ quy tắc mà trình duyệt và máy chủ dùng để yêu cầu và phân phối trang, hình ảnh, tập lệnh cùng các tài nguyên web khác.

Với trang web HTTPS, máy khách và máy chủ thường chọn giao thức trong quá trình thiết lập kết nối bảo mật. Quá trình thương lượng này thường sử dụng Giao thức thương lượng tầng ứng dụng, gọi tắt là ALPN. HTTP/2 được nhận diện là h2, còn kết nối sử dụng phiên bản cũ hơn có thể dùng http/1.1.

HTTP/2 vẫn sử dụng các khái niệm HTTP quen thuộc như phương thức, mã trạng thái và tiêu đề, nhưng truyền chúng dưới dạng khung nhị phân. Giao thức này có thể truyền nhiều luồng qua một kết nối và nén tiêu đề HTTP. Nhờ đó, chi phí kết nối có thể giảm, đặc biệt với những trang chứa nhiều tài nguyên riêng biệt. Tuy nhiên, bản thân HTTP/2 không thể làm cho mã ứng dụng chậm, hình ảnh dung lượng lớn hoặc truy vấn cơ sở dữ liệu bị trì hoãn chạy nhanh hơn.

Làm thế nào để kiểm tra HTTP/2?

Nhập trang web mà bạn muốn xác minh khả năng hỗ trợ HTTP/2, rồi chạy kiểm tra. Dữ liệu nhập được gửi tới máy chủ qua HTTPS để xử lý và không được lưu trữ.

Các nhãn tên miền có dấu hoặc sử dụng hệ chữ viết ngoài bảng chữ cái Latinh được biểu diễn trong DNS dưới dạng IDNA A-label, sử dụng thuật toán mã hóa Punycode.

Không nhập mã thông báo truy cập hoặc thông tin nhạy cảm khác. Dù dữ liệu nhập không được lưu trữ, dữ liệu đó vẫn được gửi tới máy chủ của công cụ để máy chủ thực hiện phép kiểm tra.

Đọc kết quả HTTP/2 như thế nào?

Kết quả cho biết trang web được kiểm tra có đang sử dụng HTTP/2 hay không. Hãy xem đây là bằng chứng về giao thức của trang web đó, không phải đánh giá toàn diện về tốc độ hoặc cấu hình của trang.

  • Kết quả dương tính xác nhận trang web đang sử dụng giao thức này. Kết quả âm tính có nghĩa phép kiểm tra không xác minh được HTTP/2, nhưng chỉ riêng kết quả đó không cho biết nguyên nhân.

Ví dụ, giả sử một trang web cho kết quả HTTP/2 dương tính. Điều này xác nhận HTTP/2 đang được dùng cho trang web được kiểm tra. Tuy nhiên, kết quả không chứng minh rằng các dịch vụ riêng biệt hoặc máy chủ gốc cũ hơn cũng sử dụng cùng giao thức.

Nếu kết quả không xác nhận HTTP/2, hãy kiểm tra trang web bằng công cụ Tra cứu tiêu đề HTTP, đồng thời xem lại cài đặt máy chủ web hoặc CDN. Công cụ dành cho nhà phát triển của trình duyệt cũng có thể hiển thị giao thức của từng yêu cầu, thường là h2 hoặc http/1.1.

Những vấn đề thường gặp mà phép kiểm tra có thể phát hiện

Kiểm tra HTTP/2 đặc biệt hữu ích sau khi thay đổi dịch vụ lưu trữ, proxy hoặc CDN, vì kết quả cho biết điểm cuối công khai có đang cung cấp giao thức dự kiến hay không. Trong các tình huống phổ biến sau, kết quả có thể giúp thu hẹp phạm vi sự cố.

  1. CDN vừa được bật. Hãy kiểm tra trang web công khai thay vì địa chỉ riêng tư hoặc tạm thời của máy chủ gốc. Nếu trang công khai sử dụng HTTP/2 nhưng máy chủ gốc thì không, đó có thể là điều bình thường vì kết nối từ trình duyệt tới CDN và từ CDN tới máy chủ gốc là hai kết nối riêng biệt.
  2. Trình duyệt vẫn báo HTTP/1.1. Hãy đảm bảo trình duyệt và công cụ đang kiểm tra cùng một trang web. Một trang có thể tải tài nguyên từ nhiều tên miền và mỗi kết nối sẽ tự thương lượng giao thức. Việc một yêu cầu tập lệnh của bên thứ ba sử dụng HTTP/1.1 không có nghĩa tài liệu chính cũng dùng giao thức đó.
  3. Cảnh báo chứng chỉ xuất hiện sau khi chuyển máy chủ. Việc xử lý chứng chỉ HTTPS và thương lượng giao thức HTTP đều là những phần có liên quan trong quá trình thiết lập kết nối, nhưng kết quả HTTP/2 không phải là chẩn đoán chứng chỉ đầy đủ. Hãy kiểm tra riêng tên máy chủ trên chứng chỉ, ngày hết hạn, chuỗi chứng chỉ và cấu hình máy chủ.

Phép kiểm tra này không thể giải thích mọi trường hợp trang tải chậm. Khả năng hỗ trợ HTTP/2 không đưa ra kết luận chắc chắn nào về thời gian phản hồi của máy chủ, quá trình thực thi JavaScript, kích thước hình ảnh hoặc tình trạng nghẽn mạng giữa một người truy cập cụ thể và máy chủ. Hãy dùng Ping khi bạn cần đánh giá riêng khả năng kết nối mạng và thời gian phản hồi.

Vì sao bộ nhớ đệm hoặc quá trình cập nhật cấu hình có thể khiến kết quả trông không chính xác?

Bộ nhớ đệm DNS và quá trình cập nhật cấu hình có thể khiến các lần kiểm tra tạm thời được chuyển tới những máy chủ khác nhau. Sau khi bản ghi DNS thay đổi, trình phân giải đệ quy có thể tiếp tục dùng kết quả cũ cho tới khi thời gian tồn tại của bản ghi hết hạn. Vì vậy, công cụ kiểm tra phía máy chủ và kết nối tại nhà hoặc văn phòng của bạn có thể truy cập các địa chỉ IP khác nhau.

Những thay đổi đối với CDN và bộ cân bằng tải cũng có thể cần thời gian để cập nhật tới mọi vị trí biên. Một điểm cuối có thể đã bật HTTP/2, trong khi điểm khác vẫn dùng cấu hình trước đó. Hãy kiểm tra kết quả DNS hiện tại, xác nhận tất cả máy chủ gốc hoặc máy chủ biên đều dùng cấu hình dự kiến, rồi so sánh lại sau khoảng thời gian lưu đệm liên quan.

Trình duyệt còn có thể gây nhầm lẫn vì thường tái sử dụng các kết nối đang mở. Một thẻ có thể tiếp tục dùng kết nối HTTP/1.1 hiện có cho tới khi kết nối đóng lại, trong khi phép kiểm tra mới phía máy chủ thương lượng HTTP/2. Đóng kết nối của trình duyệt hoặc bắt đầu một phiên duyệt web riêng tư mới có thể giúp việc so sánh rõ ràng hơn.

Câu hỏi thường gặp

Một trang web có thể hỗ trợ cả HTTP/1.1 và HTTP/2 không?

Có. Máy chủ có thể hỗ trợ cả hai và chọn phiên bản mà máy khách đang kết nối hiểu được. Khả năng tương thích này cho phép máy khách cũ sử dụng HTTP/1.1, còn máy khách mới hơn thương lượng HTTP/2.

Một trang web có thể dùng cả HTTP/3 và HTTP/2 không?

Có. Nhiều hệ thống vẫn duy trì HTTP/2 làm phương án dự phòng vì HTTP/3 sử dụng giao thức truyền tải khác và có thể không hoạt động trên mọi mạng. Kết quả HTTP/2 không cho biết HTTP/3 có được bật hay không.

HTTP/2 có bắt buộc phải dùng HTTPS không?

HTTP/2 có thể được sử dụng qua TCP không mã hóa khi hai bên đã biết trước giao thức, trong khi việc dùng mã thông báo Upgrade HTTP/1.1 h2c trước đây hiện không còn được khuyến nghị. Các trình duyệt phổ biến thường sử dụng HTTP/2 qua HTTPS. Vì vậy, với một trang web công khai, cấu hình TLS hợp lệ thường là một phần cần thiết để trình duyệt có thể sử dụng HTTP/2.

HTTP/2 có khắc phục được thời gian nhận byte đầu tiên quá cao không?

Không. Thời gian nhận byte đầu tiên cao thường liên quan đến quá trình xử lý của máy chủ, khoảng cách mạng, dữ liệu không có trong bộ nhớ đệm hoặc hạ tầng quá tải. HTTP/2 có thể cải thiện cách nhiều yêu cầu dùng chung một kết nối, nhưng không loại bỏ độ trễ trước khi máy chủ bắt đầu phản hồi.

Để kiểm tra lần cuối, hãy so sánh cùng một trang web bằng công cụ này, công cụ dành cho nhà phát triển của trình duyệt và các bản ghi DNS. Nếu kết quả khác nhau, hãy ghi lại địa chỉ IP đã được phân giải và kiểm tra lại sau khi bộ nhớ đệm DNS cùng CDN hiện có hết hạn.

Công cụ phổ biến