Các tài nguyên dựa trên văn bản phải được phân phát ở dạng nén để giảm thiểu tổng byte mạng. Mục Cơ hội của báo cáo Lighthouse liệt kê tất cả tài nguyên dạng văn bản không được nén:
![Ảnh chụp màn hình phần kiểm tra tuỳ chọn "Cho phép nén văn bản" trong Lighthouse](https://developer.chrome.com/static/docs/lighthouse/performance/uses-text-compression/image/a-screenshot-the-lightho-b5e39391250f.png?authuser=6&hl=vi)
Cách Lighthouse xử lý hoạt động nén văn bản
Lighthouse thu thập tất cả các phản hồi:
- Có các loại tài nguyên dựa trên văn bản.
- Đừng đặt tiêu đề
content-encoding
thànhbr
,gzip
hoặcdeflate
.
Sau đó, Lighthouse sẽ nén từng phương diện trong số này bằng GZIP để tính toán số tiền có thể tiết kiệm được.
Nếu kích thước ban đầu của một phản hồi nhỏ hơn 1, 4KiB hoặc nếu mức tiết kiệm nén có thể có nhỏ hơn 10% kích thước ban đầu, thì Lighthouse sẽ không gắn cờ phản hồi đó trong kết quả.
Bật tính năng nén văn bản trên máy chủ
Bật tính năng nén văn bản trên(các) máy chủ phân phát các phản hồi này để vượt qua quy trình kiểm tra này.
Khi một trình duyệt yêu cầu một tài nguyên, trình duyệt đó sẽ sử dụng tiêu đề của yêu cầu HTTP Accept-Encoding
để cho biết trình duyệt đó hỗ trợ những thuật toán nén nào.
Accept-Encoding: gzip, compress, br
Nếu trình duyệt hỗ trợ Brotli (br
), bạn nên dùng Brotli vì Brotli có thể giảm kích thước tệp của tài nguyên nhiều hơn so với các thuật toán nén khác. Tìm how to enable Brotli compression in <X>
, trong đó <X>
là tên máy chủ của bạn. Kể từ tháng 12 năm 2022, Brotli được hỗ trợ trên tất cả các trình duyệt chính, ngoại trừ trình duyệt Safari trên iOS. Hãy xem phần Khả năng tương thích của trình duyệt để biết thông tin cập nhật.
Sử dụng GZIP làm phương án dự phòng cho Brotli. GZIP được hỗ trợ trong tất cả các trình duyệt chính, nhưng kém hiệu quả hơn Brotli. Hãy tham khảo phần Cấu hình máy chủ để biết các ví dụ.
Máy chủ của bạn phải trả về tiêu đề phản hồi HTTP Content-Encoding
để cho biết máy chủ đã sử dụng thuật toán nén nào.
Content-Encoding: br
Kiểm tra nén phản hồi
Cách kiểm tra xem máy chủ có nén phản hồi hay không:
Nhấn Control+Shift+J
(hoặc Command+Option+J
trên máy Mac) để mở Công cụ cho nhà phát triển.
Nhấp vào thẻ Network (Mạng).
- Nhấn tổ hợp phím Control+Shift+J (hoặc Command+Option+J trên máy Mac) để mở Công cụ cho nhà phát triển.
- Nhấp vào thẻ Mạng.
- Nhấp vào yêu cầu đã tạo ra phản hồi mà bạn quan tâm.
- Nhấp vào thẻ Tiêu đề.
- Kiểm tra tiêu đề
content-encoding
trong phần Tiêu đề phản hồi.
content-encoding
.
Cách so sánh kích thước nén và giải nén của một phản hồi:
- Nhấn tổ hợp phím Control+Shift+J (hoặc Command+Option+J trên máy Mac) để mở Công cụ cho nhà phát triển.
- Nhấp vào thẻ Mạng.
- Bật các hàng yêu cầu lớn. Hãy xem phần Sử dụng các hàng yêu cầu lớn.
- Xem cột Kích thước để biết câu trả lời mà bạn quan tâm. Giá trị cao nhất là kích thước nén. Giá trị dưới cùng là kích thước giải nén.
Xem thêm phần Giảm thiểu và nén tải trọng mạng.
Hướng dẫn dành riêng cho ngăn xếp
- Cũ: Bật chế độ cài đặt Nén trang Gzip (Hệ thống > Cấu hình chung > Máy chủ).
- WordPress: Bật tính năng nén văn bản trong cấu hình máy chủ web của bạn.