Preload là kỹ thuật giúp trình duyệt ưu tiên tải trước những tài nguyên quan trọng của website, từ đó hỗ trợ quá trình hiển thị trang. Vậy kỹ thuật này hoạt động như thế nào, được dùng cho tài nguyên nào và khi nào nên áp dụng? Cùng Nhân Hòa tìm hiểu ngay trong bài viết dưới đây.

Preload là gì?
Preload là một cơ chế trong HTML cho phép website chỉ định những tài nguyên cần được ưu tiên trong quá trình tải trang. Nhà phát triển có thể chủ động khai báo một số tài nguyên bằng thuộc tính rel="preload" thay vì hoàn toàn phụ thuộc vào quá trình phát hiện và ưu tiên tài nguyên của trình duyệt.
Kỹ thuật này thường được áp dụng cho một số tài nguyên quan trọng như font chữ, hình ảnh, CSS hoặc JavaScript, tùy thuộc vào cấu trúc và nhu cầu của từng trang web.
Nguyên lý hoạt động của Preload trong website
Hãy hình dung một website sử dụng font chữ riêng cho tiêu đề. Font này được gọi thông qua CSS nên trình duyệt có thể chỉ phát hiện yêu cầu tải font sau khi xử lý CSS. Nếu font được khai báo Preload, trình duyệt nhận được thông tin về tài nguyên này ngay từ đầu và có thể xử lý yêu cầu tải font sớm hơn. Khi CSS yêu cầu sử dụng font, tài nguyên này có thể đã được tải hoặc đang trong quá trình tải.
Nói đơn giản, tải trước giống như việc báo trước cho trình duyệt về một tài nguyên mà website biết chắc sẽ cần trong quá trình hiển thị trang. Preload thường được khai báo trong phần <head> của HTML. Ví dụ:
<link rel="preload"
href="/fonts/example.woff2"
as="font"
type="font/woff2"
crossorigin>
Trong đó:
- rel="preload": xác định tài nguyên cần được tải trước.
- href: đường dẫn đến tài nguyên.
- as: cho trình duyệt biết loại tài nguyên, chẳng hạn font, image, style hoặc script.
- type: xác định MIME type của tài nguyên.
- crossorigin: thường cần thiết khi Preload font hoặc tài nguyên được tải từ nguồn khác.
>>> Xem thêm: Core Web Vitals - Cách tối ưu chỉ số xếp hạng của Google
Công dụng chính của Preload đối với website
Preload không đơn thuần là một phương pháp “tải mọi thứ nhanh hơn”. Hiệu quả của kỹ thuật này nằm ở việc đưa đúng tài nguyên cần thiết vào nhóm được ưu tiên trong quá trình tải trang.
Hỗ trợ tối ưu Largest Contentful Paint (LCP)
LCP phản ánh thời điểm phần tử nội dung lớn nhất trong vùng hiển thị ban đầu được hoàn tất. Nếu phần tử LCP là một hình ảnh, video, phương pháp tải trước giúp trình duyệt bắt đầu xử lý tài nguyên này sớm hơn. Điều này có khả năng rút ngắn thời gian cần thiết để hoàn tất phần tử LCP.
Tuy nhiên, Preload chỉ là một trong nhiều yếu tố ảnh hưởng đến LCP. Kích thước hình ảnh, máy chủ, tốc độ mạng, CSS, JavaScript và nhiều yếu tố khác vẫn cần được tối ưu đồng thời.

Hạn chế tình trạng font hiển thị muộn
Khi website sử dụng font tùy chỉnh, việc tải font không đúng thời điểm có thể khiến nội dung ban đầu hiển thị bằng font thay thế trước khi chuyển sang font chính. Với font thực sự cần thiết cho phần nội dung đầu trang, Preload có thể hỗ trợ rút ngắn khoảng thời gian chờ tài nguyên này và hạn chế hiện tượng font xuất hiện muộn.
Giảm tác động của tài nguyên được phát hiện muộn
Một số tài nguyên quan trọng không xuất hiện ngay trong HTML mà chỉ được phát hiện sau khi trình duyệt xử lý CSS hoặc JavaScript. Trong trường hợp đó, Preload cho phép nhà phát triển khai báo trước tài nguyên cần thiết, qua đó giảm khoảng thời gian từ lúc bắt đầu tải trang đến khi tài nguyên được yêu cầu.
Chủ động kiểm soát mức độ ưu tiên tài nguyên
Thông thường, trình duyệt sẽ tự xác định thứ tự xử lý tài nguyên dựa trên nhiều yếu tố. Preload cung cấp thêm một cách để nhà phát triển chủ động chỉ ra những tài nguyên thực sự quan trọng đối với quá trình hiển thị ban đầu. Điều này đặc biệt hữu ích khi cấu trúc website khiến một tài nguyên quan trọng khó được phát hiện sớm.

Preload khác gì Prefetch, Preconnect và Lazy Load?
Preload, Prefetch, Preconnect và Lazy Load đều được sử dụng để tối ưu quá trình tải tài nguyên, nhưng phục vụ những mục đích khác nhau. Hiểu đúng từng kỹ thuật giúp lựa chọn cách tối ưu phù hợp thay vì áp dụng đồng thời một cách máy móc.
>>> Xem thêm: FCP là gì? Nguyên nhân phổ biến khiến First Contentful Paint bị chậm
Khi nào nên dùng Preload?
Nên sử dụng Preload khi tài nguyên quan trọng, chắc chắn được sử dụng và cần có sớm để phục vụ nội dung hiển thị ban đầu của website.
- Font chữ chính: Được sử dụng ngay ở phần nội dung đầu trang.
- Ảnh LCP: Hình ảnh lớn, quan trọng nhưng được phát hiện tương đối muộn.
- CSS quan trọng: Cần thiết để hiển thị nội dung ban đầu.
- JavaScript cần thiết: Phục vụ chức năng quan trọng ngay khi trang được tải.
Lưu ý: Không nên Preload quá nhiều tài nguyên. Nếu tài nguyên không thực sự cần thiết, việc ưu tiên tải có thể khiến các tài nguyên quan trọng khác phải cạnh tranh băng thông.
Câu hỏi thường gặp về Preload là gì?
Cơ chế tải trước có áp dụng được cho mọi loại tài nguyên không?
Không. Preload có thể áp dụng cho nhiều loại tài nguyên như font, hình ảnh, CSS, JavaScript..., nhưng chỉ nên sử dụng với những tài nguyên thực sự quan trọng và chắc chắn được sử dụng sớm trên trang.
Có thể sử dụng nhiều thẻ Preload trên cùng một trang không?
Một trang có thể sử dụng nhiều thẻ tải trước, nhưng không nên lạm dụng. Quá nhiều tài nguyên được ưu tiên tải cùng lúc có thể khiến chúng cạnh tranh băng thông và làm giảm hiệu quả tối ưu.
Preload có làm tăng dung lượng website không?
Không. Cơ chế này không làm thay đổi dung lượng của file. Kỹ thuật này chủ yếu giúp trình duyệt phát hiện và yêu cầu tải tài nguyên sớm hơn; tuy nhiên, nếu tải trước những tài nguyên không cần thiết, website có thể tiêu tốn thêm băng thông.
Lời kết
Preload giúp nhà phát triển chủ động ưu tiên những tài nguyên quan trọng trong quá trình tải trang, đặc biệt với font, hình ảnh chính, CSS hoặc JavaScript được sử dụng sớm. Tuy nhiên, hiệu quả phụ thuộc vào việc lựa chọn đúng tài nguyên và thời điểm. Khi thiết kế website, Preload nên được sử dụng có chọn lọc cùng các kỹ thuật tối ưu hiệu suất khác.




