12/08/2018, 14:06

Tìm hiểu http 2

Xin chào tất cả các bạn, trong bài viết hôm nay mình sẽ giới thiệu với các bạn một công nghệ tương đối mới mẻ giúp cải thiện tốc độ truy cập website, do đó rất có ích cho công việc cũng như cuộc sống hàng ngày của chúng ta, đó là giao thức HTTP/2. Bài viết tham khảo từ một số blog công nghệ và đặc ...

Xin chào tất cả các bạn, trong bài viết hôm nay mình sẽ giới thiệu với các bạn một công nghệ tương đối mới mẻ giúp cải thiện tốc độ truy cập website, do đó rất có ích cho công việc cũng như cuộc sống hàng ngày của chúng ta, đó là giao thức HTTP/2. Bài viết tham khảo từ một số blog công nghệ và đặc biệt là từ diễn đàn công nghệ tinhte.vn

I.Giao thức HTTP

HTTP là chữ viết tắt của HyperText Transfer Protocol (giao thức truyền tải siêu văn bản). Đây là một giao thức ứng dụng trong bộ các giao thức TCP/IP (gồm một nhóm các giao thức nền tảng cho internet).

HTTP hoạt động dựa trên mô hình Client – Server. Trong mô hình này, các máy tính của người dùng sẽ đóng vai trò làm máy khách (Client). Sau một thao tác nào đó của người dùng, các máy khách sẽ gửi yêu cầu đến máy chủ (Server) và chờ đợi câu trả lời từ những máy chủ này. Để có thể nói chuyện được với nhau, các máy chủ và máy khách phải thực hiện việc trao đổi thông qua các giao thức. Một trong những giao thức được sử dụng thường xuyên nhất chính là HTTP. Phiên bản HTTP mà chúng ta đang sử dụng ngày nay là HTTP/1.1 đã ra đời từ năm 1999, còn sắp tới đây nó sẽ được thay thế bởi một chuẩn mới hơn là HTTP/2. Bản cập nhật này hứa hẹn sẽ cải thiện cách trình duyệt và máy chủ giao tiếp với nhau, từ đó mang lại tốc độ truyền dữ liệu nhanh hơn trong khi giảm thiểu sức mạnh cần thiết để xử lý các yêu cầu truy cập.

II. HTTP/2

Như đã nói ở trên, vì HTTP/1.1 được phát triển cách đây quá lâu nên nó bắt đầu bộc lộ những nhược điểm của sự "già cỗi" đó. Các trang web ngày nay không chỉ có những đoạn mã HTML đơn giản, ngoài ra nó còn được kết hợp với các công cụ dùng cho việc trang trí - thiết kế (CSS), các đoạn mã thực thi (JavaScript), hình ảnh, video, thậm chí là cả nội dung Flash nữa. Để truyền tải lượng dữ liệu đó, trình duyệt phải tạo ra nhiều kết nối đến máy chủ, mỗi kết nối chứa rất nhiều thông tin về nguồn lấy là ai, lấy ở đâu, lấy nội dung, lấy ra sao gì và rất nhiều thứ khác nữa. Tất cả những thứ này đã tạo ra một khối lượng công việc rất lớn lên trình duyệt trong máy tính (hoặc thiết bị di động) của chúng ta cũng như máy chủ nơi đặt trang web.

HTTP/2 mang lại một số lợi ích như giúp trang web tải nhanh hơn, các kết nối có thời gian “sống” dài hơn, nội dung xuất hiện nhanh hơn, hỗ trợ nhiều kết nối song song. Ngoài ra, các yêu cầu HTTP do trang web gửi đến máy chủ cũng sẽ nhẹ hơn nên rất nhiều yêu cầu có thể được thực hiện cùng lúc, hạn chế tình trạng nghẽn hoặc từ chối truy cập.

Nói chung, việc sử dụng htttp2 đơn giản để phục vụ mục đích tăng tốc độ truy cập, tải web. Trong một số thử nghiệm của HTTPWatch, http/2 cải thiện tốc độ so với http lên đến 30 %. HTTP/2 cải thiện tốc độ chủ yếu bằng cách tạo ra một kết nối liên tục giữa máy chủ và trình duyệt, thay vì thiết lập một kết nối mới mỗi lần trình duyệt cần thông tin gì đó. Cách thức này giảmđi đáng kể lượng thông tin được truyền tải. Ngoài ra, HTTP/2 còn truyền dữ liệu ở dạng nhị phân thay vì dạng văn bản như trước. Điều này có nghĩa là trình duyệt của bạn không phải tốn thời gian dịch văn bản sang một định dạng nào đó mà nó có thể hiểu được.

Một vài kĩ thuật khác mà HTTP/2 sở hữu để tăng tốc bao gồm multiplexing (gửi nhận nhiều thông tin cùng lúc), prioritization (đánh thứ tự ưu tiên, dữ liệu quan trọng sẽ được gửi đi trước), compression (nén để thu nhỏ kích cỡ gói dữ liệu) và server push (máy chủ sẽ đoán yêu cầu dữ liệu kế tiếp mà bạn cần là gì để mà gửi trước thông tin cho đỡ tốn thời gian).

Tóm lại, ở cấp độ cao, HTTP/2 có các đặc điểm:

• Nhị phân

• Đa kết nối

• Sử dụng một kết nối cho trạng thái song song

• Sử dụng nén header để giảm tải cho máy chủ

III. Khi nào chúng ta bắt đầu được sử dụng HTTP/2

Hiện nay, thời gian bắt đầu sử dụng HTTP/2 vẫn chưa thống nhât và cụ thể, cũng có thể chúng ta đang sử dụng mà không biết vì nó đã được tích hợp trên một số máy chủ và trình duyệt như Chrome và Firefox (dù chưa chính thức). Với máy chủ thì IIS của Microsoft sẽ hỗ trợ trên Window 10, ngoài ra Apache và Nginx cũng sẽ hỗ trợ trong thời gian tới. Chúng ta cùng chờ đợi tốc độ tải trang web được cải thiện như thế nào trong tương lai nhé. Cảm ơn các bạn đã theo dõi bài viết.

0