Gzip là gì? Hướng dẫn bật nén gzip giúp tăng tốc độ website

Gzip là gì?

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.

Tại sao cần sử dụng Gzip?

Để 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 là gì? Hướng dẫn bật nén gzip giúp tăng tốc độ website
Gzip là phương pháp nén làm giảm dung lượng dữ liệu ở server

Lợi ích của việc nén tài nguyên bằng gzip

  • Nhiều khả năng thích nghi với kết quả tìm kiếm
  • Giảm bớt yêu cầu về máy chủ của bạn
  • 1000KB sẽ được chuyển thành 100KB

Cơ chế hoạt động của Gzip là gì?

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ó.

Ưu điểm và nhược điểm của gzip là gì?

Ưu điểm của gzip compression

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.

Nhược điểm của gzip compression

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.

Hướng dẫn bật nén gzip giúp tăng tốc độ website

Bật nén Gzip WordPress

Gzip là gì? Hướng dẫn bật nén gzip giúp tăng tốc độ website
Bật nén Gzip WordPress

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ật nén Gzip với file .htaccess

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

 

  • Nếu web server không hỗ trợ mod_deflate, hãy thay thế nó bằng mod_gzip với code sau đây:

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$

 

Bật nén qua hosting cPanel

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