GZIP Compression เป็นวิธีง่ายและมีประสิทธิภาพในการประหยัดแบนด์วิดท์และเร่งความเร็วแอปพลิเคชัน PHP กลไกการทำงานของ GZIP Compression อธิบายดังนี้:
ขั้นตอนที่ 1
เบราว์เซอร์/ไคลเอ็นต์ ขอไฟล์จากเซิร์ฟเวอร์
ขั้นตอนที่ 2
เซิร์ฟเวอร์ส่งไฟล์ .zip (index.html.zip) ให้เบราว์เซอร์ แทนที่จะส่ง index.html แบบเดิม ทำให้เวลาดาวน์โหลดและแบนด์วิดท์ลดลง
ขั้นตอนที่ 3
เบราว์เซอร์ดาวน์โหลดไฟล์ zip, แตกไฟล์, แล้วแสดงผลให้ผู้ใช้ โหลดเว็บเพจเร็วขึ้นมาก
ใน Apache Server ให้เพิ่มโค้ดต่อไปนี้ในไฟล์ .htaccess เพื่อเปิดใช้งาน GZIP Compression:
# compress text, html, javascript, css, xml: 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 # หรือ บีบอัดไฟล์เฉพาะนามสกุล: <files *.html> SetOutputFilter DEFLATE </files>
หมายเหตุ
ในไฟล์ PHP สามารถเปิดใช้งาน GZIP Compression ได้ด้วยโค้ด:
<?php
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'))
ob_start("ob_gzhandler");
else
ob_start();
?>