HTTP protokolünün olmazsa olmazlarından biri gzip sıkıştırmasıdır. Sunucu ile istemci arasındaki verinin sıkıştırılarak aktarılması öncelikle hız sağlamakta ayrıca band genişliği açısındanda her iki taraf için verimli olmaktadır.

Apache 2.2 üzerindeki standart ayarlar (httpd.conf)

1. mod_deflate’in yüklenmesi:

LoadModule deflate_module modules/mod_deflate.so

yönergesi ile sağlanır.

2. Sıkıştırma uygulanacak içeriğin belirlenmesi:

AddOutputFilterByType DEFLATE text/html text/plain text/xml

şeklinde belirlenir.

3. Sıkıştırma uygulanacak alanın belirlenmesi:

Bir url adresi için özel olarak, bir web sayfası için özel olarak yada sunucu genelinde uygulanabilir, sunucu geneli tavsiye edilir. Biz sunucu geneli için uygulayacağız ve bu yüzden deflate yönergelerini konfigürasyon dosyasında “virtualhost” yönergesi dışında “Location /” şeklinde tutacağız.

<Location />
SetOutputFilter DEFLATE

BrowserMatch ^Mozilla/4 gzip-only-text/html

BrowserMatch ^Mozilla/4\.0[678] no-gzip

BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

Header append Vary User-Agent env=!dont-vary
</Location>

4. Yapılan değişikliğin apache tarafından kontrol edilmesi:

service httpd configtest

ile yazım kontrol edilir, “Syntax OK” alınıyorsa hatamız yok demektir.

5. Apache’nin yeniden başlatılması:

service httpd restart

şeklinde komut kullanılarak apache yeniden başlatılır.

Arzu ederseniz Location bloğu içinde sıkıştırma level’i belirleyebilirsiniz. Bu şu şekilde;

DeflateCompressionLevel 9

1-9 arası yapılmaktadır.

http://www.gidnetwork.com/tools/gzip-test.php adresinden sıkıştırmayı ve sonuçta yaptığınız bu düzenlemeyi test edebilirsiniz.

Kategoriler: Linux