önemli header satırlarından biri olan accept-encoding, client taraflı bir bilgidir ve desteklediği sıkıştırma yöntemleri bilgisini içeren satırdır. Aşağıda birkaç tarayıcının servera gönderdiği encoding satırı örneği var

Opera 10.10

Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0

Internet Explorer 8.0.7

Accept-Encoding: gzip, deflate

Google Chrome 4.1.2

Accept-Encoding: gzip,deflate,sdch

Google Chrome 3.6.3

Accept-Encoding: gzip,deflate

öncelikle en önemli sıkıştırma yöntemlerinden olan deflate ve gzip’in tüm tarayıcılar tarafından desteklendiğini görüyoruz. opera 10 ‘u da bu kadar cok yöntemi desteklediği için tebrik ediyoruz (:

bu bilgilerin kontrolu sonrasında en iyi sıkıştırma yöntemi deflate ya da hemen ardından gelen gzip i kullanabiliriz. gzip ve deflate arasındaki farkı da ileriki dönemlerde yazmayı düşünüyorum. öncelikle şunu soyleyeiblirim gzip de deflate algoritmalarını kullanır ve extradan bilgiler ekler. bu yuzden en iyisi deflate.

merhaba arkadaşlar, hemen her php coderin başına gelmiş olaylardan biri de çıktı başladıktan sonra  header a bilgi eklemeye çalışan fonksiyonlardan birini kullanmaya çalışınca  header already sent by.. ile başlayan uyarıyı almaktır. bu uyarının en kolay ve en yaygın çözümü olarak tüm çıktılardan önce ob_start() ; verilir..  peki nedir bu ob_start ?  ob_ ile başlayan tüm fonksiyonlar output buffer üzerinde işlem yapmamıza olanak tanır. bu fonksiyonları kullanmaya başlamadan önce output buffer’ı  başlatmış olmamız gerekiyor bunu başlatan fonksiyonumuz da ob_start();

bool ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] );

ob_start fonksiyonumuzun genel yapısı bu. içine aldığı tüm parametlere opsiyonel.  ilk verdiğimiz callback türündeki değişkenimiz  fonksiyon adı alır. ve çıktıyı bu fonksiyondan geçirip ob_end olduğu anda fonksiyondan döneni ekrana basar.. örneğin tufyta.com adresimiz için tüm tufyta yazan yerleri  tufan olarak değiştiren bir fonksiyon yazalım.

0
1
2
function filtre($icerik){
  return str_replace('tufyta','tufan',$icerik);
}

sayfanımızın en üstüne de

0
ob_start('filtre');

yazdığmızda bütün çıktı bu fonksiyondan geçer ve tufyta yazan kısımları tufan ile değiştirmiş oluruz. şimdi bir de örnek sıkıştırma yapalım

Gzip Sıkıştırma

stringi gzip ile sıkıştıran fonksiyonumuz ob_gzhandler output buffer için tasarlanmış bir gzip sıkıştırıcı fonksiyondur. bu fonksiyon içeriği sıkıştırmakla beraber bir de header bilgisine  Content-Encoding:gzip  satırını atar. bu tarayıcıların içeriğin sıkıştığını anlayıp gazip decoderlerini kullanarak bize anlaşışır halini göstermesine olanak tanır.

0
ob_start('ob_gzhandler');

bu fonksiyonumuz da içeriği sıkıştırıp gondermemize , daha az trafik harcamamıza ve daha hızlı sayfa yüklememize yardımcı olur.. not: sıkıştırmak için extra cpu harcar

© 2012 Tufan Suffusion theme by Sayontan Sinha