Hầu hết mọi thứ bạn truy cập trên web tại một thời điểm hay cách khác đều sử dụng giao thức đặc biệt được gọi là Giao thức truyền Hyptertext (HTTP). Kể từ năm 1999, bạn đã sử dụng phiên bản HTTP 1.1. Đây là tiêu chuẩn liên tục trong nhiều năm cho đến khi Google đưa ra thông báo vào ngày 10 tháng 2 năm 2015 rằng trình duyệt của họ sẽ thêm hỗ trợ đầy đủ cho những gì hiện được gọi là HTTP / 2. Điều này nghe có vẻ vô nghĩa với một số, nhưng đó là bởi vì không có mô tả về những gì HTTP / 2 làm khác nhau. Để hiểu điều này, chúng ta cần phải khám phá chính xác phiên bản giao thức mới này hoạt động như thế nào và nó tương tự như phiên bản HTTP mà chúng tôi đã sử dụng trong gần hai thập kỷ.

Có gì HTTP / 2 đạt được?

Bất cứ khi nào một phiên bản giao thức mới được phát triển, nó cần các mục tiêu cụ thể thực tế. Mục tiêu rõ ràng nhất là tương thích ngược với người tiền nhiệm của nó, HTTP 1.1. Nếu không có khả năng đó, mọi máy chủ trên thế giới sẽ phải chuyển sang HTTP / 2 để bạn có thể duyệt các trang web của họ.

Trong khi vẫn duy trì tính tương thích với phiên bản cũ, giao thức mới này sẽ sử dụng các kỹ thuật nâng cao làm các biện pháp chống lại độ trễ, làm cho các trang tải nhanh hơn. Đây là mục tiêu chính, vấn đề mà HTTP / 2 có kế hoạch giải quyết tích cực nhất.

Các cải tiến khác bao gồm bảo mật bổ sung và khả năng tương thích với proxy ngược.

Trong sơ đồ lớn của sự vật, HTTP / 2 sẽ không khác nhiều so với HTTP 1.1. Khi bạn lướt internet, hiệu ứng mạnh nhất bạn sẽ cảm thấy là các trang web sẽ tải nhanh hơn đáng kể miễn là chúng hỗ trợ phiên bản mới.

Làm thế nào để HTTP / 2 làm cho trang web nhanh hơn?

Để nói rằng "HTTP / 2 làm cho mọi thứ nhanh hơn" là một sự bất hòa với số lượng công việc thực sự diễn ra đằng sau hậu trường để thực hiện điều này. Giao thức HTTP 1.1 được giải quyết với một loạt các vấn đề được chấp nhận trong những năm đầu của thế kỷ 21 nhưng không còn ý nghĩa để tiếp tục sống trong thời gian băng thông rẻ hơn và các máy chủ được mong đợi tải các trang với tốc độ nhanh hơn nhiều .

Cách chính mà HTTP / 2 có kế hoạch giải quyết thời gian tải trang là bằng cách nén tiêu đề (một phần dữ liệu được khách hàng gửi để yêu cầu máy chủ cung cấp cho bạn dữ liệu bên trong trang web bạn đang truy cập). Điều này giảm thiểu lượng thời gian mà máy tính của bạn “lắc tay” với máy chủ đích bằng cách giảm lượng dữ liệu phải được gửi đi. Ngày nay, các bộ vi xử lý đủ mạnh để xử lý hàng triệu giải nén trong một khoảng thời gian ngắn. Nó có ý nghĩa hơn để làm điều này ngay bây giờ.

Trong khi ở trên sẽ chỉ chăm sóc độ trễ trong yêu cầu ban đầu, cũng có những cách mà HTTP / 2 có kế hoạch chăm sóc toàn bộ tương tác của bạn với một trang web. Nó sẽ trực tiếp triển khai các công nghệ đẩy máy chủ, cho phép các máy chủ chủ động hơn trong quá trình truyền thông. Cho đến gần đây, bạn phải gửi yêu cầu định kỳ tới máy chủ, làm cho nó diễn giải các tiêu đề bạn xuất hiện mỗi khi bạn yêu cầu thông tin. Với HTTP / 2, máy chủ sẽ gửi cho bạn dữ liệu mới khi nó xuất hiện.

Cuối cùng, HTTP / 2 sẽ làm điều gì đó gọi là "ghép kênh" khi bạn gửi yêu cầu. Trong HTTP 1.1, đã xảy ra sự cố: Mỗi gói mới được ưu tiên hơn gói cuối cùng. Tất cả chúng được xử lý theo kiểu tuyến tính, dẫn đến một vấn đề gọi là “chặn đầu dòng”. Về cơ bản, hiệu suất của một máy chủ bị giới hạn bởi thực tế là nó sẽ phải xử lý gói đầu tiên đi kèm với nó trong khi để phần còn lại trong hàng đợi. Nếu gói tin mất một thời gian dài để xử lý, tất cả các gói khác phải đợi xếp hàng cho đến lượt của chúng. Với HTTP / 2, nhiều gói sẽ được xử lý cùng một lúc.

Với sự kết hợp của các "phương pháp chữa trị" khác nhau, HTTP / 2 sẽ làm mọi thứ có thể để tránh sự chậm trễ do các sự cố HTTP cụ thể. Điều này sẽ đặc biệt thuận lợi cho các trang web có máy chủ nhỏ hơn không được kết nối với nhiều băng thông như những người chạy Facebook và Google.

Nếu bạn có câu hỏi hoặc ý tưởng, hãy chắc chắn để lại một bình luận với những suy nghĩ của bạn!