Home Lập trình Web PHP Sử dụng Gzip để load website nhanh hơn
Sử dụng Gzip để load website nhanh hơn
Thứ năm, 25 Tháng 9 2008 08:17

Đa số các trình duyệt thông dụng hiện nay đều có khả năng giải nén những trang web đã được nén lại, để tiết kiệm băng thông và giúp thời gian tải website nhanh hơn. Mặc dù tính năng này đã được đưa ra một thời gian, nhưng ít ai chú ý hoặc biết đến nó.

Để biết thêm về những khái niệm nén trang web và những hỗ trợ đối với nó, mời bạn tham khảo trang web này. Nhưng nói tóm lại, thì đa số các trình duyệt đề hỗ trợ chức năng này, gồm Internet Explorer, FireFox, Netscape, Opera... bạn có thể kiểm tra bằng cách vào trang web này.

Đối với một số hiếm hoi các trình duyệt không hỗ trợ nén trang web, thì họ chỉ nhận được trang web không bị nén. Sau đây là một số ví dụ về những trang web được nén với Gzip.

Đây là ví dụ về nén tài liệu html, file javascript và file css. Tổng cộng, trang web nhỏ hơn 75% và sẽ tải nhanh hơn 75%.

Bài hướng dẫn này sẽ hướng dẫn các bạn một cách để nén trang web với PHP. Bạn chỉ cần 5 phút để làm việc này.

Bước 1: Bật tính năng zlib compress trong PHP. Bạn có thể làm bằng cách thực hiện một trong ba cách sau:

1. Thêm dòng sau vào file .htaccess:

php_flag zlib.output_compression On

2. Thêm hoặc thay đổi (nếu có rồi) dòng sau trong file php.ini:

zlib.output_compression = On

3. Thêm dòng sau vào dòng đầu tiên trong file php của bạn, trước bất kì một output nào:

ini_set('zlib_output_compression','On');

Bước 2: Nếu bạn muốn nén những file khác, như file javascript, css....:

Bạn có thể thay đổi đuôi của file thành .php để có thể output được với dạng Gzip. Ví dụ sau đây sẽ minh hoạ về cách output theo dạng Gzip với file core.js:

1. Đổi tên file core.js thành core.js.php

  2. Mở file core.js.php, và thêm dòng sau vào đầu trang, sau đó lưu lại:

   <?php header("Content-type: text/javascript"); ?>

   3. Gọi file này trong trang của bạn nhưng sau:

    <script src="/home/core.js.php" type="text/javascript"></script>

 

Bạn có thể làm tương tự với file css với Content-type của css là text/css.
Lời bình (3)Add Comment
Không hiểu lắm
được viết bởi Hoàng Thanh Tùng, Tháng tư 27, 2009
Mình muốn là muốn chạy trên server, nhưng bạn nói thế thì không thể làm theo được. Bạn có thể hướng dẫn lại website chạy trên server không

Thanks
Không hiểu được!
được viết bởi DVTính, Tháng bảy 22, 2009
Mình cũng thử làm theo cách trên mà không hiểu các file bạn chỉ nằm ở đâu!?
Trên Host của mình tìm thấy nhiều hơn 1 file htaccess, còn file php.ini thì hìnhnhư chỉ có trong C:AppServphp5 còn trên Host thì nó nằm ơ đâu vậy?
Dù sao kũng thanks bạn đã share.
Đơn giản mà bạn
được viết bởi Toán Nguyễn, Tháng mười 01, 2009
@Hoàng Thanh Tùng: bạn nói là website chạy trên server là sao mình không hiểu? Lúc nào nó chẳng ở trên server? Khi người dùng request, thì nó mới load về, dó đó, bạn có thể nén lại để nó load về cho người dùng mau hơn.

@DVTính: Ở bước một, bạn có thể làm một trong 3 cách. Nếu chỉnh trong file .htaccess, thì file này chỉ cần chỉnh file .htaccess ở thư mục gốc của trang web của bạn là được. Còn muốn chỉnh trong file config của PHP, tức là file php.ini thì bạn tạo một trang php gọi hàm phpinfo() để xem nó dùng file nào. Cái này trên host thuê thường khó chỉnh. Còn cách ba, là bạn gõ vào đầu mỗi trang PHP của bạn dòng lệnh ini_set('zlib_output_compression','On');

Còn bước 2 thì chắc là đơn giản rồi.

Viết lời bình

busy