Gzip là phương pháp nén làm giảm dung lượng dữ liệu ở server khi gửi đến client giúp tiết kiệm băng thông, tăng tốc độ tải của website. Gzip cũng tương tự giống như việc bạn sử dụng Winrar để nén file trên máy tính vậy.
Các dữ liệu này khi truyền đến client (thường là trình duyệt) sẽ tự động được giải nén tại đây và hiển thị cho người truy cập giao diện bình thường. Gzip có thể nén những file tĩnh như HTML, CSS, Javascript hoặc các document XML, JSON.
Để trang web của bạn có thể hoạt động, các dữ liệu phải được truyền từ server đến trình duyệt của người dùng. Tuy nhiên với những file có dung lượng quá lớn thì hệ thống sẽ tiêu tốn nhiều thời gian hơn để truyền tải.
Đây là một trong những nguyên nhân lớn nhất khiến file trở nên nặng nề hơn và gây ảnh hưởng rất lớn đến hiệu suất hoạt động cũng như tốc độ duyệt web. Vì vậy, dữ liệu cần được nén Gzip ở server để giảm dung lượng trước khi truyền đi, từ đó tiết kiệm băng thông và thời gian tải trang.
Gzip có hoạt động dựa trên quá trình trao đổi, truyền tải dữ liệu nén giữa server và trình duyệt. Quá trình này gồm 2 bước:
Bước 1: Trình duyệt gửi một header request đến server để thông báo rằng nó chấp nhận file được nén. Header này sẽ có dạng như sau: “Accept-Encoding:gzip, deflate “ (trong đó gzip và deflate là 2 cách nén dữ liệu).
Bước 2: Server gửi phản hồi đồng ý và truyền file dữ liệu đã được nén cho trình duyệt với tín hiệu: “Content-Encoding:gzip “
Cần lưu ý, “Accept-Encoding:gzip, deflate “chỉ là một yêu cầu từ trình duyệt chứ không phải là mệnh lệnh bắt buộc, do đó server có thể chấp nhận thực hiện hoặc không. Nếu sau khi nhận request, server không gửi thông điệp “Content-Encoding:gzip ” trong header phản hồi thì có nghĩa là file dữ liệu không được nén Gzip. Khi đó, trình duyệt sẽ phải tải file về với dung lượng vốn có của nó.
Tăng tốc độ website, tài nguyên tải về nhỏ nên load nhanh hơn.
Giảm thiểu các sự cố hỏng css, vỡ layout khi hiển thị do đường truyền mạng kém.
Nâng cao trải nghiệm và đánh giá người dùng vì tốc độ nhanh sẽ là điểm cộng lớn nhất cho website của bạn.
Nâng cao thứ hạng trên máy tìm kiếm và điểm tốc độ google speed.
Gzip sẽ tiêu tốn hơn một phần CPU của server khi chưa được nén để lấy được băng thông và tốc độ load website. Tuy nhiên thì cơ sở hạ tầng viễn thông hiện nay ngày càng một nâng cao nên cấu hình và thiết bị server ngày càng mạnh nên hạn chế này rất là nhỏ và có thể bỏ qua.
Gzip không thể nén được các media như: Hình ảnh, Video, PDF…. nên đối với những loại file này bạn nên xử lý nó trước khi up lên website.
Nếu sử dụng Hosting WordPress bạn có thể bật nén Gzip rất dễ dàng bằng cách cài các plugin có sẵn như W3 Total Cache, WP Super Cache, GZip Ninja Speed Compression… Việc kích hoạt Gzip compression sau đó sẽ được những plugin này thực hiện tự động chỉ bằng một vài thao tác đơn giản.
Còn với Joomla, bạn có thể nén Gzip cho website bằng cách truy cập vào mục System -> Global Configuration -> Server -> ở mục Gzip page compression và chọn Yes.
Bạn đăng nhập vào trang quản trị của hostting, tới thư mục File Manager để chỉnh sửa file .htaccess hoặc dùng phần mềm Notepad++ để sửa. Bạn copy đoạn code dưới bỏ vào file .htaccess và lưu nó lại.
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE!no-gzip !gzip-only-text/html
Header append Vary User-Agent
ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_include mime ^text/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_include handler ^cgi-script$
Nếu có license cPanel thì bạn có thể bật nén Gzip cho tất cả các website của mình thông qua mục Optimize Website (thường nằm ở phần Softwares). Sau khi mở mục này ra, bạn hãy chọn Compression all content, sau đó chọn vào nút “Update Settings”. Thao tác trên thực chất là để khai báo các dòng code vào file cấu hình .htaccess, từ đó kích hoạt Gzip cho các website trên hosting.
Thông tin tư vấn