[2024] HTTP/2 là gì? Những đặc điểm nổi bật của HTTP/2

HTTP/2 là phiên bản nâng cấp của giao thức HTTP, được phát triển bởi Google và được IETF phê chuẩn. HTTP/2 mang đến nhiều cải tiến về hiệu quả tốc độ xử lý và khả năng truyền dữ liệu, giúp cải thiện trải nghiệm người dùng và thứ hạng SEO của website. Bài viết sau đây của VinaHost sẽ giúp bạn lý giải http/2 là gì cũng như những đặc điểm nổi bật của phiên bản này.

1. HTTP là gì 

HTTP đóng vai trò kết nối giữa máy khách (client) và máy chủ (server) trên toàn thế giới.

Khi bạn muốn xem nội dung của một website, bạn chỉ cần gõ địa chỉ website vào trình duyệt web và nhấn Enter. Lúc này, trình duyệt web của bạn sẽ gửi một yêu cầu HTTP đến máy chủ chứa website đó. Máy chủ sẽ nhận được yêu cầu và trả về một phản hồi HTTP cho trình duyệt web. Phản hồi HTTP này sẽ chứa nội dung của website bạn yêu cầu.

Cơ chế này được gọi là mô hình kiến trúc Client-Server hay Request-Response. Trong mô hình này, máy khách gửi yêu cầu đến máy chủ và máy chủ trả lời yêu cầu của máy khách.

http/2 la gi
HTTP đóng vai trò kết nối giữa máy khách (client) và máy chủ (server) trên toàn thế giới.

Xem thêm: HTTP, HTTPS là gì? Tại sao Website nên sử dụng HTTPS

2. Lịch sử hình thành và phát triển của HTTP

HTTP được phát triển bởi Timothy Berners-Lee, người sáng lập World Wide Web. Berners-Lee đã đề xuất HTTP trong một bản thảo năm 1989 về World Wide Web. Bản thảo này mô tả HTTP là một giao thức đơn giản và hiệu quả cho phép người dùng truy cập thông tin trên web.

HTTP được xuất bản lần đầu tiên dưới dạng RFC 1945 vào năm 1996. RFC này xác định các yêu cầu và phản hồi cơ bản của HTTP. HTTP đã được cập nhật nhiều lần kể từ khi được phát hành lần đầu tiên. Các phiên bản mới của HTTP đã bổ sung các tính năng và cải tiến hiệu suất.

HTTP hiện có ba phiên bản chính:

  • HTTP/1.0: Phiên bản đầu tiên của HTTP, được phát hành vào năm 1996.
  • HTTP/1.1: Phiên bản cập nhật của HTTP, được phát hành vào năm 1997.
  • HTTP/2: Phiên bản mới nhất của HTTP, được phát hành vào năm 2015.

Xem thêm: World Wide Web là gì? | Tổng hợp kiến thức [A-Z] về WWW

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

Cách thức hoạt động của HTTP được chia thành hai giai đoạn:

Giai đoạn 1: Yêu cầu (Request)

Khi người dùng muốn truy cập một trang web, trình duyệt web của người dùng sẽ gửi một yêu cầu HTTP đến máy chủ chứa trang web đó. Yêu cầu HTTP bao gồm các thông tin sau:

  • Phương thức yêu cầu (method): Phương thức yêu cầu xác định loại yêu cầu mà máy khách đang gửi đến máy chủ. 
  • Đường dẫn (path): Đường dẫn xác định tài nguyên mà máy khách đang yêu cầu.
  • Header: Header chứa các thông tin bổ sung về yêu cầu.

Các phương thức yêu cầu HTTP phổ biến:

  • GET: Lấy nội dung của một tài nguyên.
  • POST: Gửi dữ liệu đến máy chủ.
  • PUT: Thay thế nội dung của một tài nguyên.
  • DELETE: Xóa một tài nguyên.
  • OPTIONS: Kiểm tra các khả năng của máy chủ.

Giai đoạn 2: Phản hồi (Response)

Sau khi nhận được yêu cầu HTTP từ máy khách, máy chủ sẽ trả lời yêu cầu đó bằng một phản hồi HTTP. Phản hồi HTTP bao gồm các thông tin sau:

  • Mã trạng thái (status code): Mã trạng thái xác định trạng thái của yêu cầu. 
  • Nội dung (content): Nội dung chứa dữ liệu mà máy chủ đang gửi đến máy khách.
  • Header: Header chứa các thông tin bổ sung về phản hồi.

Các mã trạng thái HTTP phổ biến:

Xem thêm: Lỗi 301 Redirect là gì? Cách khắc phục lỗi 301, 302, 303

4. Giao thức HTTP/1 (v1.1)

Giao thức HTTP được phát triển lên phiên bản 1.1 vào năm 1997, mang đến nhiều cải tiến về tính năng và hiệu suất. HTTP/1.1 hỗ trợ nhiều phương thức yêu cầu hơn (GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS), có header và quan trọng nhất là cho phép giữ kết nối TCP (keep-alive hay persistent connection) để phục vụ các yêu cầu tiếp theo.

5. HTTP/2 là gì?

HTTP/2 là phiên bản nâng cấp của HTTP, mang đến nhiều cải tiến về hiệu suất và tính năng. HTTP/2 sử dụng giao thức nhị phân thay vì văn bản, giúp giảm dung lượng dữ liệu và tăng tốc độ truyền tải. HTTP/2 cũng hỗ trợ nén header, giúp giảm kích thước gói tin, giúp tăng tốc độ truyền tải.

http/2 la gi
HTTP/2 là phiên bản nâng cấp của HTTP, mang đến nhiều cải tiến về hiệu suất và tính năng.

6. Có nên cập nhật lên HTTP/2 không?

Hiện nay, HTTP/1.1 vẫn là giao thức mặc định của các trình duyệt web, ngay cả khi tốc độ đường truyền ổn định. Do đó, người dùng không cần phải cập nhật trình duyệt để sử dụng HTTP/2 nếu server không hỗ trợ.

Tuy nhiên, bạn cần lưu ý rằng HTTP/2 mang lại nhiều lợi ích cho cả người dùng và nhà phát triển.

Về phía người dùng, HTTP/2 giúp tối ưu băng thông và cải thiện trải nghiệm sử dụng trình duyệt. Khi truy cập vào một website không hỗ trợ HTTP/2, người dùng đang bị nhà phát triển lãng phí băng thông.

Về phía nhà phát triển, HTTP/2 giúp cải thiện thời gian tải trang, góp phần tối ưu thứ hạng website trên công cụ tìm kiếm và mang sản phẩm đến gần với khách hàng hơn.

Do đó, các nhà phát triển nên cân nhắc nâng cấp website của mình để hỗ trợ HTTP/2, mang lại trải nghiệm tốt hơn cho người dùng và cải thiện thứ hạng website.

7. Đặc điểm nổi bật của HTTP/2

HTTP/2 mang lại nhiều cải tiến về hiệu suất và tính năng, trong đó có tốc độ tải trang nhanh hơn so với HTTP/1.1. Những cải tiến này được thực hiện nhờ vào việc thay đổi các đặc điểm sau.

7.1. Kỹ thuật Ghép kênh (Multiplexed)

Giao thức HTTP/2 đã khắc phục được vấn đề “head-of-line blocking” còn tồn tại ở phiên bản HTTP/1 nhờ áp dụng kỹ thuật multiplexing. “Head-of-line blocking” có thể được hiểu đơn giản như sau.

Giả sử bạn đang đi ăn ở một nhà hàng và gọi 10 món ăn. Ở phiên bản HTTP/1, nhà hàng sẽ phục vụ món ăn theo thứ tự từ đầu đến cuối. Nếu món thứ nhất bị chậm trễ, tất cả các món còn lại cũng sẽ bị chậm trễ theo.

Ở phiên bản HTTP/2, nhà hàng có thể phục vụ tất cả các món ăn cùng lúc. Điều này giúp giảm thời gian chờ đợi của khách hàng.

Trong trường hợp truy cập vào một website, “head-of-line blocking” có thể dẫn đến tình trạng một số tài nguyên cần thiết cho việc tải trang không thể được tải xuống do một tài nguyên khác bị chậm trễ. Điều này có thể dẫn đến việc trang web không thể tải được hoặc tải chậm.

Giao thức HTTP/2 đã khắc phục vấn đề này bằng cách cho phép máy chủ gửi dữ liệu từ nhiều nguồn cùng lúc. Điều này giúp đảm bảo rằng tất cả các tài nguyên cần thiết cho việc tải trang đều được tải xuống nhanh chóng.

http/2 la gi
Giao thức HTTP/2 đã khắc phục được vấn đề “head-of-line blocking” còn tồn tại ở phiên bản HTTP/1

7.2. Phản hồi ưu tiên (Prioritization)

Giao thức HTTP/1.1 yêu cầu máy chủ phải gửi phản hồi truy vấn theo thứ tự từ đầu đến cuối. Điều này có thể dẫn đến tình trạng các tài nguyên quan trọng cần thiết cho việc tải trang không thể được tải xuống do các tài nguyên không quan trọng hơn bị chậm trễ.

Giao thức HTTP/2 đã khắc phục vấn đề này bằng cách cho phép máy chủ xử lý các yêu cầu một cách bất động bộ.

Ví dụ, thẻ <script> trong <head> sẽ được ưu tiên tải ở mức độ cao (thấp hơn CSS – mức độ cao nhất). Tuy nhiên, nếu thẻ chứa thuộc tính async, mức độ ưu tiên có thể được giảm xuống mức thấp.

http/2 la gi

Ngoài ra, người dùng cũng có thể tùy chỉnh mức độ ưu tiên của một tài nguyên bằng cách sử dụng các từ khóa sau:

  • rel=preload
  • rel=prefetch
  • rel=preconnect
  • as=fonts/style/script

7.3. Hỗ trợ đẩy máy chủ server Push

Giao thức HTTP/2 hỗ trợ tính năng Server Push, cho phép máy chủ chủ động gửi các tài nguyên cần thiết đến trình duyệt trước khi trình duyệt yêu cầu.

Ví dụ, khi người dùng truy cập vào một trang web có chứa thẻ <script> ở cuối trang, thông thường trình duyệt sẽ phải chờ cho đến khi tải xong toàn bộ trang web mới bắt đầu tải script. Tuy nhiên, với HTTP/2, máy chủ có thể gửi script này đến trình duyệt trước khi trình duyệt yêu cầu. Điều này giúp giảm thời gian chờ đợi và cải thiện trải nghiệm người dùng.

Xem thêm: Web Server là gì | Tổng hợp kiến thức [A-Z] về Web Server

7.4. Dữ liệu truyền tải nhị phân

Giao thức HTTP/2 truyền dữ liệu ở dạng mã nhị phân thay vì dạng văn bản như HTTP/1.1. Điều này giúp máy chủ dễ dàng phân tích cú pháp dữ liệu và giảm thời gian giải quyết tác vụ. Hơn nữa, giao thức nhị phân không cần xử lý các ký tự đặc biệt như khoảng trắng, viết hoa, dòng trống,… Do đó, các gói tin dữ liệu sẽ gọn nhẹ hơn, dễ xử lý hơn và ít xảy ra lỗi hơn.

Đây là một trong những cải tiến quan trọng của HTTP/2, giúp cải thiện hiệu suất và độ ổn định của giao thức.

7.5. Nén Header (Header compression)

HTTP/2 sử dụng HPACK để nén dữ liệu của các header được gửi trong các yêu cầu. Việc nén này giúp giảm kích thước của các gói tin, từ đó cải thiện hiệu suất của giao thức.

Các header trong HTTP chứa thông tin mô tả dữ liệu, nguồn gốc, độ dài,… Các header này có thể trùng lặp và không cần thiết. HPACK sử dụng một bảng hash để lưu trữ các header đã được gửi trước đó. Khi một header được gửi lại, HPACK sẽ sử dụng mã ngắn hơn để biểu thị header đó.

Sau khi đã hoàn thành tác vụ, HTTP/2 sẽ khôi phục lại thông tin của các header đã được nén.

8. Ví dụ minh họa so sánh giữa HTTP/2 và HTTP/1

Ở các server có độ trễ cao hoặc các response quá lớn, HTTP/2 có thể mang lại sự cải thiện đáng kể về thời gian tải trang. Dưới đây là hai ví dụ cụ thể:

HTTP/1.1:

http/2 la gi

HTTP/2:

http/2 la gi

9. HTTP/2 quan trọng đối với SEO như thế nào?

Tốc độ tải trang là một yếu tố quan trọng trong SEO. Giao thức HTTP/2 giúp cải thiện tốc độ tải trang bằng cách tối ưu hóa kết nối giữa máy chủ và trình duyệt. Điều này đặc biệt quan trọng đối với thiết bị di động. Do đó, HTTP/2 gián tiếp thúc đẩy quá trình SEO vì cải thiện tốc độ tải trang.

10. Một số câu hỏi thường gặp về HTTP/2

Dưới đây là một số hỏi thường gặp về HTTP/2.

10.1. HTTP/2 có an toàn hơn HTTP 1/1 không?

HTTP/2 sử dụng giao thức nhị phân, giúp bảo vệ dữ liệu tốt hơn so với giao thức văn bản gốc của HTTP/1. Ngoài ra, HTTP/2 còn giúp giảm đáng kể thời gian tải trang, mang lại trải nghiệm web tốt hơn cho người dùng.

10.2. Chrome có đang sử dụng HTTP/2 không?

Google Chrome 27 không hỗ trợ giao thức HTTP/2. Để kiểm tra xem trang web hoặc ứng dụng web của bạn có sử dụng giao thức HTTP/2 hay không, bạn có thể sử dụng Lambda Test để kiểm tra URL của trang web trên Google Chrome 27.

11. Tổng kết

HTTP/2 là một phiên bản mới của giao thức HTTP, cung cấp nhiều cải tiến về hiệu suất, tốc độ tải trang, bảo mật và riêng tư. Nếu bạn muốn trang web của mình hoạt động nhanh hơn, an toàn hơn và hiệu quả hơn, thì có thể cân nhắc sử dụng HTTP/2.  

Bạn có thể xem thêm các bài viết thú vị khác tại đây và đừng ngại ngần liên hệ với VinaHost nếu cần hỗ trợ nhé!

Xem thêm:

Web tĩnh là gì | Web động là gì | So sánh Web động & tĩnh

[Tìm Hiểu] Web3 Là Gì? | Tổng Hợp Kiến Thức Về Web3.0

[HOT] TLS là gì | Tổng hợp kiến thức về giao thức TLS mới

[HOT] SSL là gì | Cách nhận chứng chỉ bảo mật SSL miễn phí

Đánh giá
5/5 - (6 bình chọn)
Đăng ký nhận tin

Để không bỏ sót bất kỳ tin tức hoặc chương trình khuyến mãi từ Vinahost

    Bài viết liên quan
    Bình luận
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận
    Tổng lượt truy cập: lượt xem