
Gzip, bir web sunucusu tarafından web sayfalarının boyutunu küçültmek için kullanılan bir sıkıştırma yöntemidir. Gzip sıkıştırması, web sayfalarının JS (JavaScript) ve CSS (Cascading Style Sheets) dosyaları gibi statik dosyalarının boyutunu küçültmek için kullanılabilir.
Gzip sıkıştırması, web sunucusu ve web tarayıcısı arasında gerçekleşir. Sunucu, web sayfasını göndermeden önce JS ve CSS dosyalarını sıkıştırır ve tarayıcıya gönderir. Tarayıcı, sıkıştırılmış dosyayı alır ve açar, böylece sayfanın yüklenmesi daha hızlı olur.
Gzip sıkıştırmasını kullanmak için, web sunucusunuzun gzip desteği olması gerekir. Ayrıca, web tarayıcınızın da gzip desteği olması gerekiyor. Gzip desteği olan tüm modern web tarayıcıları var.
JS ve CSS dosyalarınızı gzip ile sıkıştırmak için, web sunucunuzun gzip sıkıştırmasını etkinleştirmeniz gerekiyor. Bu, genellikle sunucunuzun yapılandırma dosyalarında yapılır. Örneğin, Apache web sunucusunda, gzip sıkıştırmasını etkinleştirmek için Apache yapılandırma dosyasına aşağıdaki satırları ekleyebilirsiniz:
AddOutputFilterByType DEFLATE text/css application/javascript
Bu, sunucunuzun JS ve CSS dosyalarını sıkıştırmasını ve tarayıcılara sıkıştırılmış dosyaları göndermesini sağlar.
Sıkıştırma kullanımını görmek için, Google Chrome, Mozilla Firefox veya başka bir modern web tarayıcısını kullanarak bir web sayfasını açın ve tarayıcının geliştirici araçlarını açın. Geliştirici araçlarındaki "Network" sekmesine gidin ve sayfayı yenileyin. Tarayıcı, sayfanın tüm dosyalarını listeleyecektir. JS ve CSS dosyaları, "Size" sütununda sıkıştırılmış boyutunu gösterecektir.
Php ile Gzip Sıkıştırma Nasıl Yapılır?
PHP ile gzip sıkıştırması yapmak oldukça kolaydır. PHP, gzip sıkıştırmasını destekler ve aşağıdaki gibi basit bir kod kullanarak PHP ile JS ve CSS dosyalarını sıkıştırabilirsiniz:
<?php
ob_start("ob_gzhandler");
header("Content-Encoding: gzip");
header("Content-Type: text/css"); // or application/javascript for JS files
readfile("path/to/file.css"); // or path/to/file.js for JS files
ob_end_flush();
?>
Bu kod, "ob_gzhandler" adlı bir tamponlama işlevi kullanarak çıkışı sıkıştırır. "header" işlevleri, tarayıcıya sıkıştırılmış bir dosya gönderilmesini sağlar. "Content-Type" başlığı, sıkıştırılmış dosyanın türünü belirtir. "readfile" işlevi, sıkıştırılacak dosyanın yolunu alır.
Örneğin, bir CSS dosyasını sıkıştırmak ve göndermek için, yukarıdaki kodu bir "style.php" dosyasına yerleştirebilirsiniz ve HTML sayfanızdaki stil sayfasının bağlantısını "style.php" olarak değiştirebilirsiniz.
Bir JS dosyasını sıkıştırmak için, yukarıdaki kodu bir "script.php" dosyasına yerleştirebilirsiniz ve HTML sayfanızdaki betik dosyasının bağlantısını "script.php" olarak değiştirebilirsiniz.
Daha pratik bir yöntem ise, Apache veya Nginx gibi bir web sunucusunda gzip sıkıştırmasını etkinleştirmektir. Bu, tüm statik dosyaların otomatik olarak sıkıştırılmasını sağlar ve PHP kullanmanıza gerek kalmaz. Sunucu yapılandırma dosyalarında gzip sıkıştırmasını etkinleştirmek için, sunucu yöneticinizle iletişime geçebilirsiniz.