Gzip compression
Gzip là một phương thức dùng để nén file để transfer nhanh hơn, và đó cũng là một định dạng file
Gzip Compression là một phương pháp nén làm giảm dung lượng dữ liệu của server khi gửi đến client, do đó tốc độ tải của website sẽ được tăng lên.
Bạn có thể hiểu Gzip Compression cũng giống như nén file bằng WinRAR vậy
Vậy vì sao Gzip lại trở nên cần thiết?
Việc kích hoạt nén file bằng Gzip là không bắt buộc, nếu không kích hoạt thì website của bạn vẫn hoạt động bình thường, tuy nhiên sẽ chậm hơn so với những trang web đã tối ưu.
Việc nén file bằng Gzip giúp server cung cấp file có kích thước nhỏ hơn, do đó tăng tốc độ tải trang và tiết kiệm băng thông. Các dữ liệu này khi truyền đến client sẽ được tự động giải nén và truy cập bình thường.
Những file tĩnh như HTML, CSS, JavaScript, các file document như XML, JSON có thể được nén bằng Gzip.
Cách kiểm tra website đã được tối ưu Gzip hay chưa?
Kiểm tra bằng công cụ Lighthouse của Google Chrome
Bạn có thể kiểm tra tình trạng website đã được tối ưu Gzip hay chưa bằng cách sử dụng công cụ Lighthouse sẵn có của Google Chrome. Nếu kết quả hiển thị có phần Enable text compression
như dưới đây thì website đó chưa được tối ưu Gzip, và như các bạn thấy thời gian tải trang bị chậm thêm vài giây.
Kiểm tra ngay trên trình duyệt web
Ở đây mình lấy ví dụ về trình duyệt Google Chrome. Đầu tiên bạn bật Developer Tools của Chrome lên, tổ hợp phím tắt trên Mac là Cmd + Option + J
. Sau đó chọn tab Network
.
Sau khi tải lại trang, bạn chọn vào dòn tương ứng trong phần Name
, ví dụ ở trang web này là hoclaptrinh.io
. Nếu kết quả hiển thị có phần content-encoding: gzip
thì có nghĩa là website đã được nén Gzip.
Cách tối ưu Gzip trên website sử dụng Nginx
Bạn chỉ cần thêm đoạn code dưới đây vào file config Nginx, bên trong server{}
, ví dụ:
1
2
3
4
5
6
7
server {
gzip on;
gzip_comp_level 5;
gzip_min_length 1100;
gzip_proxied any;
gzip_types text/plain text/html text/css text/javascript text/xml application/json application/javascript application/x-javascript application/xml application/xml+rss image/x-icon;
}
Hoặc để thiết lập cho tất cả các site trong server thì bạn thêm đoạn code trên vào file /etc/nginx/nginx.conf
Sau đó khởi động lại Nginx
1
sudo service nginx restart
Vậy là xong, bạn có thể quay lại các cách ở bên trên để kiểm tra xem trang web đã được tối ưu Gzip hay chưa.
Việc nén Gzip là cách rất tốt để cải thiện tốc độ website, giúp tăng trải nghiệm người dùng.