1. Home
  2. Web & Internet
  3. Gzip là gì? Cách bật nén gzip giúp tăng tốc độ website
VnTips 8 tháng trước

Gzip là gì? Cách bật nén gzip giúp tăng tốc độ website

Tối ưu hóa công cụ tìm kiếm (SEO) là một phần không thể tách rời trong quá trình sáng tạo nội dung số. Xét cho cùng, thứ hạng của các trang web hoặc trang web trên các trang kết quả của công cụ tìm kiếm ảnh hưởng trực tiếp đến khả năng hiển thị và lưu lượng truy cập.

Một trong những yếu tố quyết định thứ hạng SEO là tốc độ trang web. Vì vậy, điều quan trọng là đảm bảo trang web của bạn tải nhanh chóng. Nếu không, mọi người có thể cảm thấy thất vọng và thoát trang lại trước khi trang tải xong.

Đây là lúc tính năng nén Gzip phát huy tác dụng – đây là một trong những thủ thuật để cải thiện tốc độ trang.

Đến cuối bài viết này, bạn sẽ biết nén Gzip là gì cũng như cách kiểm tra và kích hoạt tính năng nén Gzip trên một trang web.

Nén Gzip là gì?

Gzip Compression 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ự như việc bạn sử dụng Winrar để nén file trên máy tính vậy. Tập tin càng lớn thì thời gian hoàn tất quá trình truyền tập tin càng lâu, làm tăng thời gian tải trang web (load time). Với tính năng nén dữ liệu cho phép người dùng tải xuống các tệp có kích thước nhỏ hơn. Như vậy, trang web của bạn sẽ tải nhanh hơn.

Có hai loại nén chính:

  • Nén mất dữ liệu (Lossy compression): loại bỏ một số thông tin khỏi tệp gốc.
  • Nén không mất dữ liệu (Lossless compression): bảo toàn tất cả dữ liệu trong tệp gốc.

Gzip thuộc loại nén không mất dữ liệu. Đây là một phương pháp phổ biến để giảm kích thước của HTML, PHP, JavaScript, CSS và các tập tin khác.

Nén Gzip hoạt động như thế nào?

Để hiểu Gzip, trước tiên bạn cần biết cách hoạt động của một trang web.

Một trang web được tạo thành từ các tệp web được lưu trữ trên một máy chủ web. Khi một người nhập URL của trang web vào trình duyệt, trình duyệt sẽ gửi yêu cầu đến máy chủ web lưu trữ nội dung mong muốn.

Máy chủ web xử lý yêu cầu bằng cách truy xuất các tệp được yêu cầu từ cơ sở dữ liệu. Nó gửi các tập tin đến trình duyệt dưới dạng phản hồi HTTP. Đương nhiên, kích thước càng lớn thì thời gian truyền dữ liệu sẽ càng lâu.

Khi trình duyệt nhận được các tệp, nó sẽ hiển thị trang web được đề cập.

Tuy nhiên, thông thường sẽ có dữ liệu lặp lại trong các tệp văn bản, chẳng hạn như các ký tự hoặc từ trùng lặp xuất hiện nhiều lần trong toàn bộ tài liệu.

Ví dụ: trong các tệp HTML, sẽ có một thẻ đóng tương tự cho mỗi thẻ mở. Ví dụ: thẻ mở <table> sẽ được ghép nối với </table> , trong khi thẻ <div> sẽ được ghép nối với </div> .

Gzip sử dụng thuật toán DEFLATE không mất dữ liệu , thuật toán này tìm và thay thế các chuỗi trùng lặp này bằng các mã định danh duy nhất.

Quá trình này được gọi là mã hóa ký tự. Nó tạo ra các tệp nén hoặc nén có tên sẽ kết thúc bằng phần mở rộng tệp .gz . Tệp ở kích thước nén nhỏ hơn so với phiên bản gốc hoặc phiên bản không nén. Điều này giúp tiết kiệm băng thông và dẫn đến thời gian truyền dữ liệu nhanh hơn.

Khi trình duyệt của người dùng cuối nhận được tệp nén, nó sẽ giải nén hoặc giải nén tệp. Các mã định danh duy nhất trong tệp nén sẽ được giải mã trở lại dữ liệu gốc.

Lưu ý: Mặc dù nén Gzip có thể được sử dụng để xử lý bất kỳ loại tệp nào, nhưng sẽ không có mức giảm kích thước tệp đáng kể nào đối với các loại tệp đã được nén, như hình ảnh hoặc video. Những tập tin như vậy thậm chí có thể tăng kích thước.

Ngoài ra, hãy lưu ý rằng Gzip không giống với ZIP. Cái sau cũng là một phương pháp nén không mất dữ liệu, nhưng nó được sử dụng để lưu trữ tệp hơn là truyền chúng. Nó tạo ra tệp .zip thay vì tệp .gz.

Tại sao nên kích hoạt tính năng nén Gzip?

Gzip chỉ là một trong nhiều phương pháp và thuật toán nén dữ liệu. Ví dụ về các phương pháp khác bao gồm ZIP, TAR và 7Z.

Bạn có thể thắc mắc tại sao nên kích hoạt tính năng nén Gzip thay vì các phương pháp khác, đặc biệt khi chúng được cho là có hiệu suất tốt hơn. Ví dụ: nghiên cứu do Expedited Security thực hiện cho thấy thuật toán nén Brotli của Google có thể nén các tệp HTML, CSS và JavaScript thành kích thước nhỏ hơn Gzip.

Nói như vậy, có nhiều lý do để chọn Gzip thay vì các phương pháp hoặc thuật toán khác, bao gồm:

  • Bản chất miễn phí và nguồn mở: Phần mềm Gzip được sử dụng miễn phí. Lần đầu tiên nó được tạo ra để thay thế miễn phí cho Compressor , một chương trình nén shell Unix đã được cấp bằng sáng chế.
  • Thị phần lớn: Tính đến tháng 6 năm 2022, khoảng 60% tất cả các trang web nén tệp bằng phương pháp Gzip.
  • Nguồn lực tối thiểu: Gzip sử dụng tương đối ít tài nguyên và lưu trữ dữ liệu tạm thời so với các phương pháp tương tự.
  • Tỷ lệ nén hiệu quả: Phương pháp Gzip có thể giảm kích thước của các tệp dữ liệu dựa trên văn bản nhỏ khoảng 70% và lên tới 90% đối với các tệp lớn hơn.
  • Tốc độ nén và giải nén nhanh: Gzip nhanh hơn nhiều đối thủ cạnh tranh, chẳng hạn như Brotli và BZIP2.

Với thời gian và tỷ lệ nén nhanh chóng và hiệu quả, Gzip giúp giảm thời gian tải trang đồng nghĩa với việc tăng tốc độ tải website, tăng thứ hạng SEO.

Thời gian tải nhanh tác động tích cực đến thứ hạng của trang web trên các trang kết quả của công cụ tìm kiếm. Trang web tải càng nhanh thì thứ hạng càng cao. Thứ hạng càng cao thì khả năng hiển thị càng cao, thúc đẩy lưu lượng truy cập đến trang web và tăng doanh thu.

Cách bật tính năng nén Gzip trên WordPress

Trước khi bật tính năng nén Gzip, trước tiên hãy kiểm tra xem trang web đã bật tính năng này chưa.

Phần sau đây sẽ chỉ cho bạn cách thực hiện việc đó bằng cách sử dụng các bài kiểm tra tốc độ trang web hoặc độ nén Gzip và các công cụ dành cho nhà phát triển trình duyệt.

Kiểm tra nén Gzip bằng cách sử dụng Kiểm tra tốc độ trang web

Kiểm tra tốc độ trang web là một công cụ để đo thời gian tải của trang web. Nó đánh giá thời gian tải trang hoặc trang và thường cung cấp báo cáo chi tiết về các yếu tố ảnh hưởng đến hiệu suất. Một số công cụ thậm chí sẽ hiển thị tốc độ giảm kích thước tệp của trang web.

Nó cũng gợi ý nhiều mẹo và thủ thuật để cải thiện tốc độ trang web, bao gồm các đề xuất về thuật toán nén để tạo ra các tệp nhỏ hơn.

Công cụ miễn phí này có sẵn trên nhiều trang web, bao gồm Pingdom, PageSpeed ​​Insights của Google và GTmetrix .

Kiểm tra nén Gzip bằng cách sử dụng bài kiểm tra

Bạn có thể sử dụng một trong nhiều công cụ miễn phí để kiểm tra xem trang web có bật tính năng nén Gzip hay không, chẳng hạn như Kiểm tra nén Gzip của Small SEO Tools và Kiểm tra nén HTTP của WhatsMyIP .

Chỉ cần mở công cụ, dán URL trang web vào trường được cung cấp và nhấp vào Check Compression.

Kiểm tra nén Gzip bằng Công cụ dành cho nhà phát triển trình duyệt

Phương pháp này phù hợp nhất với những người không muốn sử dụng công cụ bên ngoài để kiểm tra khả năng nén Gzip của trang web.

Hãy làm theo các bước bên dưới để kiểm tra xem Gzip có được bật trên một trang web bằng trình duyệt hay không:

  1. Nhập URL trang web vào trình duyệt.
  2. Mở công cụ dành cho nhà phát triển trình duyệt hoặc nhấp chuột phải vào trang và chọn Kiểm tra .
  3. Bấm vào tab Network. Bạn sẽ thấy tất cả các tài nguyên mà máy chủ web đã gửi. Trong trường hợp không, hãy tải lại trang.
  4. Chọn một trong các tài nguyên để xem nội dung của nó. Nhấp vào tab Headers.
  5. Trong Response Headers, tìm content-encoding – phương pháp nén mà trang web sử dụng sẽ được liệt kê bên cạnh nó.

Nếu Gzip chưa được kích hoạt thì có hai cách để thực hiện. Bạn có thể sửa đổi trong tập tin .htaccess hoặc sử dụng plugin WordPress .

Kích hoạt tính năng nén Gzip bằng plugin WordPress

Cách dễ nhất để kích hoạt Gzip trên trang web WordPress là cài đặt plugin. Sẽ dễ dàng và an toàn hơn rất nhiều so với việc sửa đổi tệp .htaccess .

Có rất nhiều plugin cho mục đích này nhưng chúng tôi đã chọn bốn plugin dựa trên tính năng và tính dễ sử dụng của chúng:

  • WP-Optimize Cache: Một giải pháp tất cả trong một để tăng hiệu suất trang web. Plugin này kích hoạt Gzip và cache website . Ngoài ra, nó còn loại bỏ các tập tin không cần thiết khỏi một trang web. Công cụ này thậm chí có thể tối ưu hóa hình ảnh để giải phóng thêm dung lượng.

  • Hummingbird: Plugin này giúp người dùng tự do hơn trong việc lựa chọn những khía cạnh cần tối ưu hóa. Nén Gzip, thu nhỏ và Lazy Load hình ảnh là một số tính năng chính của nó.

  • WP Fastest Cache: Công cụ này kết hợp khả năng cache của nó với Gzip để làm cho các trang nhanh và nhẹ. Plugin này cũng có thể tự động tắt biểu tượng cảm xúc và tối ưu hóa từng bài đăng.

  • WP Rocket: Một plugin hiệu suất web được trang bị nhiều tính năng như bộ nhớ đệm trang và trình duyệt, tải trước cache, nén Gzip, tối ưu hóa website thương mại điện tử và khả năng tương thích tuyệt vời với các plugin, chủ đề và loại lưu trữ phổ biến của WordPress.

Vì các plugin này có nhiều tính năng hơn không đơn giản là nén gzip nên chúng tôi khuyên bạn nên thử tất cả chúng để xem cái nào phù hợp với nhu cầu của bạn nhất.

Kích hoạt tính năng nén Gzip bằng tệp .htaccess

Phương pháp kích hoạt nén Gzip này khá kỹ thuật nên phù hợp hơn với người dùng có chút kiến thức. Tuy nhiên, bất cứ ai cũng có thể làm được miễn là phải cẩn thận.

Lưu ý: Trước khi can thiệp vào tập tin .htaccess, hãy sao lưu trước trong trường hợp có sự cố.

Hướng dẫn này sẽ chỉ cho bạn cách sửa đổi tệp .htaccess bằng File manager trong bảng điều khiển của nhà cung cấp Hosting. Chúng tôi sẽ sử dụng hPanel. Tuy nhiên, bạn cũng có thể sử dụng FTP như FileZilla client .

Để bật tính năng nén qua tệp .htaccess , hãy làm theo các bước bên dưới:

  1. Đăng nhập vào hPanel và nhấp vào Hosting trên thanh điều hướng. Sau đó, tìm tên miền của bạn và nhấp vào nó.         
  2. Cuộn xuống tìm phần Files và nhấn vào File Manager         
  3. Nhấp đúp chuột vào thư mục public_html 
  4. Tìm tệp .htaccess . Tải xuống tệp và lưu một bản sao trên máy tính của bạn làm bản sao lưu. Sau đó, nhấp đúp vào tệp .htaccess nằm trong thư mục public_html để mở nó.
  5. Dán đoạn mã sau vào trước dòng #END WordPress
    <IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript
    </IfModule>
  6. Sau khi hoàn tất, hãy nhấp vào nút Save

Kích hoạt tính năng nén trên máy chủ Apache

Máy chủ Apache hỗ trợ nén Gzip cũng như nén DEFLATE.

Kích hoạt tính năng nén Gzip trên máy chủ Apache

Nếu trang web của bạn được lưu trữ trên máy chủ Apache, hãy thêm mã bên dưới vào tệp .htaccess trang web của bạn

# BEGIN GZIP COMPRESSION

<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 handler ^cgi-script$

mod_gzip_item_include mime ^text/.*

mod_gzip_item_include mime ^application/x-javascript.*

mod_gzip_item_exclude mime ^image/.*

mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

</IfModule>

# END GZIP COMPRESSION

Kích hoạt tính năng nén DEFLATE trong WordPress

Nếu trang web của bạn được lưu trữ trên máy chủ Apache, hãy sao chép và dán đoạn mã sau vào tệp .htaccess WordPress trang web của bạn.

# BEGIN DEFLATE COMPRESSION
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE "application/atom+xml" \
"application/javascript" \
"application/json" \
"application/ld+json" \
"application/manifest+json" \
"application/rdf+xml" \
"application/rss+xml" \
"application/schema+json" \
"application/vnd.geo+json" \
"application/vnd.ms-fontobject" \
"application/x-font-ttf" \
"application/x-javascript" \
"application/x-web-app-manifest+json" \
"application/xhtml+xml" \
"application/xml" \
"font/eot" \
"font/opentype" \
"image/bmp" \
"image/svg+xml" \
"image/vnd.microsoft.icon" \
"image/x-icon" \
"text/cache-manifest" \
"text/css" \
"text/html" \
"text/javascript" \
"text/plain" \
"text/vcard" \
"text/vnd.rim.location.xloc" \
"text/vtt" \
"text/x-component" \
"text/x-cross-domain-policy" \
"text/xml"
</IfModule>
# END DEFLATE COMPRESSION

Nén trên máy chủ Nginx

Máy chủ Nginx chỉ hỗ trợ nén Gzip. Chúng ta hãy xem cách làm điều đó.

Kích hoạt tính năng nén Gzip trên máy chủ Nginx

Nếu trang web của bạn được lưu trữ trên máy chủ Nginx, hãy dán đoạn mã sau vào file config của website bạn.

gzip on;
gzip_comp_level 2;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_disable "MSIE [1-6].(?!.*SV1)";
gzip_vary on;

Tổng kết

Gzip là một định dạng tệp và một loại công nghệ nén không mất dữ liệu được sử dụng để giảm kích thước tệp và tăng tốc độ website. Gzip hoạt động bằng thuật toán DEFLATE , thuật toán này tìm các chuỗi trùng lặp trong tệp văn bản và thay thế chúng bằng các mã định danh duy nhất. Chúng được giải mã trở lại dữ liệu gốc trong quá trình giải nén.

Sau khi bật tính năng nén Gzip, khách truy cập trang web của bạn sẽ có trải nghiệm tuyệt vời và nó có thể được xếp hạng cao hơn trên các trang kết quả của công cụ tìm kiếm.

Bạn có thể kiểm tra xem một trang web đã bật Gzip hay chưa bằng cách sử dụng trang web hoặc kiểm tra tốc độ Gzip trực tuyến hoặc các công cụ dành cho nhà phát triển trên trình duyệt của bạn.

Tính năng nén Gzip trên trang web có thể được kích hoạt bằng hai phương pháp – cài đặt plugin WordPress hoặc chỉnh sửa tệp .htaccess. Chúng tôi khuyên bạn nên cài đặt một plugin thay vì chỉnh sửa tệp .htaccess cho người mới bắt đầu – việc này dễ dàng hơn và ít rủi ro hơn.

Mặc dù có nhiều phương pháp và thuật toán nén khác nhau nhưng có nhiều lý do để chọn nén Gzip thay vì các thuật toán khác. Nó không chỉ miễn phí và là nguồn mở mà còn tự hào có một trong những tỷ lệ nén hiệu quả nhất và rất nhanh.

Chúng tôi hy vọng bài viết này đã giúp bạn hiểu rõ hơn về nén Gzip. Chúng tôi chúc bạn may mắn với việc cải thiện trang web của mình.

46 lượt xem | 0 bình luận

Avatar

Xem nhanh