Tối ưu hoá hiệu quả nội dung

Ilya Grigorik
Ilya Grigorik

Các ứng dụng web của chúng ta tiếp tục phát triển về phạm vi, tham vọng và chức năng - đó là một điều tốt. Tuy nhiên, hành trình không ngừng hướng tới một môi trường web phong phú hơn đang thúc đẩy một xu hướng khác: lượng dữ liệu được tải xuống qua mỗi ứng dụng tiếp tục tăng với tốc độ ổn định. Để mang lại hiệu suất tuyệt vời, chúng ta cần tối ưu hoá việc phân phối từng byte!

Một ứng dụng web hiện đại trông như thế nào? HTTP Archive có thể giúp chúng tôi trả lời câu hỏi này. Dự án này theo dõi cách xây dựng web bằng cách định kỳ thu thập dữ liệu những trang web phổ biến nhất (hơn 300.000 trang trong danh sách 1 triệu trang web hàng đầu của Alexa), đồng thời ghi lại và tổng hợp phân tích về số lượng tài nguyên, loại nội dung và siêu dữ liệu khác cho từng đích đến riêng lẻ.

Xu hướng Lưu trữ HTTP

Phân vị thứ 50 Phân vị thứ 75 Phân vị thứ 90
HTML 13 KB 26 KB 54 KB
Hình ảnh 528 KB 1.213 KB 2384 KB
JavaScript 207 KB 385 KB 587 KB
CSS 24 KB 53 KB 108 KB
Khác 282 KB 308 KB 353 KB
Tổng cộng 1054 KB 1.985 KB 3.486 KB

Dữ liệu trên phản ánh xu hướng tăng trưởng số byte được tải xuống cho các điểm đến phổ biến trên web từ tháng 1 năm 2013 đến tháng 1 năm 2014. Tất nhiên, không phải mọi trang web đều phát triển với cùng một tốc độ hoặc yêu cầu cùng một lượng dữ liệu, do đó, lý do tại sao chúng tôi nêu bật các số phân vị khác nhau trong phân phối: 50 (trung bình), 75 và 90.

Một trang web trung bình vào đầu năm 2014 bao gồm 75 yêu cầu thêm tới 1054 KB tổng số byte được chuyển và tổng số byte (và yêu cầu) đã tăng với tốc độ ổn định trong suốt năm trước đó. Điều này không hẳn là bất ngờ, nhưng nó cũng mang lại nhiều ý nghĩa quan trọng về hiệu suất: đúng vậy, tốc độ Internet đang nhanh hơn, nhưng tốc độ tăng nhanh hơn ở mỗi quốc gia và nhiều người dùng vẫn phải chịu giới hạn dữ liệu cũng như các gói có đo lượng dữ liệu đắt đỏ, đặc biệt là trên thiết bị di động.

Không giống như các ứng dụng trên máy tính để bàn, ứng dụng web không yêu cầu một quy trình cài đặt riêng biệt: chỉ cần nhập URL và chúng tôi sẽ thiết lập và chạy ứng dụng web – đó là một tính năng chính của web. Tuy nhiên, để thực hiện điều này, chúng tôi thường phải tìm nạp hàng chục và đôi khi là hàng trăm tài nguyên khác nhau, tất cả đều có thể bổ sung đến megabyte dữ liệu và phải được tổng hợp trong hàng trăm mili giây để tạo điều kiện cho trải nghiệm web tức thì mà chúng tôi đang hướng tới.

Đạt được trải nghiệm web tức thì đáp ứng được các yêu cầu này không phải là công việc đơn giản, đó là lý do tại sao việc tối ưu hóa hiệu quả nội dung là rất quan trọng: loại bỏ các nội dung tải xuống không cần thiết, tối ưu hóa mã chuyển từng tài nguyên thông qua các kỹ thuật nén khác nhau và tận dụng việc lưu vào bộ nhớ đệm bất cứ khi nào có thể để loại bỏ các nội dung tải xuống thừa.