bildirgec.org

gzip hakkında tüm yazılar

PHP ile ziyaretçi bilgilerini tespit etmek

darkhorn | 20 April 2009 13:15

PHP‘yle sitenizi ziyaret eden kullanıcı hakkında envai çeşit bilgiye hasıl ulaşabileceğiniz ile ilgili bir yazı hazırladım. Envai çeşitten kastım, IP adresinden sunucu protokolüne kadar istemcinin sunucuya gönderdiği çeşitli bilgiler. Görelim:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
echo "IP adresi: " . $REMOTE_ADDR . "<br />";
echo "Uzak host: " . gethostbyaddr($_SERVER['REMOTE_ADDR']) . "<br />";
echo "Web tarayıcısı: " . $HTTP_USER_AGENT . "<br />";
echo "Referans adresi: " . $HTTP_REFERER . "<br />";
echo "Kullanıcının dilleri: " . $_SERVER['HTTP_ACCEPT_LANGUAGE'] . "<br />";
echo "sıkıştırma isteği: " . $_SERVER['HTTP_ACCEPT_ENCODING'] . "<br />";
echo "Sunucu protokolü: " . $_SERVER['SERVER_PROTOCOL'] . "<br />";
echo "HTTP bağlantısı: " . $HTTP_CONNECTION . "<br />";
echo "Karakter seti: " . $_SERVER['HTTP_ACCEPT_CHARSET'] . "<br />";
echo "Kabul: " . $HTTP_ACCEPT . "<br />";
echo "İstek metodu: " . $_SERVER['REQUEST_METHOD'] . "<br />";
echo "Uzak port: " . $REMOTE_PORT . "<br />";
echo "HTTP_VIA (proxy sağlayıcısı): " . $HTTP_VIA . "<br />";
echo "Gerçek IP (proxy üzerinden isen): " . $HTTP_X_FORWARDED_FOR . "<br />";
echo "Çerezler: " . $HTTP_COOKIE . "<br />";
?>

Açıklama:
Uzak host; IP adresinin alan adını görebilirsiniz, örneğin 144.122.250.220 IP’sinin alan adı y22-27.pclabs.metu.edu.tr, böylece ziyaretçinin hangi bilgisayarı kullandığını ya da hangi domain’de olduğunu öğrenebiliyoruz. Ya da bir web sitesi, dolayısıylşla gerçek ziyaretçi mi yoksa bot mu olduğu fikrine de ulaşabiliriz.
Web tarayıcısı; web tarayıcısının tam çözümü. Örneğin Firefox 3.0.8’inkisi şöyle: Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
Referans adresi; sayfaya hangi adresten geldiğiniz.
Kullanıcının dilleri; kullanıcının kendi tarayıcısında belirttiği diller.
Sıkıştırma isteği; tarayıcı web sayfasının sıkıştırılmış halini istiyorsa burada belirtir. Uzun yıllardır tüm tarayıcılar böyle bir istekte bulunurlar (gzip isteği), amaç ağ trafiğini düşürmek. Google haricindeki botlar böyle bir istekte bulunmazlar, bu bilgiden yola ziyaretçinin bot olup olmadığını anlayabilirsiniz. Ayrıntılı bilgi için Kodaman’daki gzip yazısını okuyabilirsiniz.
Sunucu protokolü, web tarayıcıları HTTP/1.1 sunucu protokolüyle iletişim kurmak istediklerini belirtirler, oysa Google haricindeki birçok bot (web proxy’ler dahil) HTTP/1.0 protokolünü kullanır. Bu da insan ziyaretçiler ile bot ziyaretçileri birbirinden ayırt etmek için kullanılabilir.
HTTP bağlantısı; bağlantı süresiyle ilgili bilgi, web tarayıcıları (en azından Firefox-Apache ikilisi) keep-alive‘ı tercih ediyor. bir web proxy yazılımında denediğimde bu kısmın boş olduğunu farkettim.
İstek metodu ya da istek yöntemi; Genellikle GET (normal istek metodu), form’lardan bilgi gönderirken POST.
HTTP_VIA; eğer proxy üzerinden bağlanıyorsanız ve proxy de kendisini tanıtıyorsa burada proxy’yle ilgili bilgi bulunuyor, örneğin; 1.1 www.cc.metu.edu.tr:2003 (squid). Bunlar genellikle vekil sunucuların bulunduğu büyük kuruluşlarda olur ve yararlanmak için tarayıcıdan küçük bir ayar yapılması gerekir. Örneğin Firefox’ta bağlantı ayarlarından vekil sunucu ayarlarını otomatik tanı seçeneğinin işaretlenmesi gerekiyor.
Gerçek IP; proxy gerçek IP’nizi buradan bildiriyor.
Çerezler; sunucumuzdan tarayıcıya çerez bıraktıysak buradan görebiliriz.

PHP, CSS ve Javascript lerinizi sıkıştırın % 80 performansınızı arttırın

alpercankaya | 05 February 2009 19:12

Sitemizde bandwidth kontrolü önemli bir unsur. Özellikle bandwidth limitli hosting kullananlar için bu önemli bir unsurdur. Bu kotayı aşmanız halinde siteniz hostu durduralabilir. İşte bu nedenle dosyalarınızın en uygun, en optimum şekilde yayında olması hem bandwidth sorununuzu ortadan kaldıracak hemde sitenizin daha hızlı açılmasını saglayacaktır.

İşte GZip ile sitelerinizi sıkıştırıp yayınlamak etkili bir yöntem olarak sayılabilir. Hatta öyleki bazen %80 e kadar performansı arttırmaktadır.

PHP, CSS ve Javascript dosyalarınızın GZip modunda sıkıştırılması konusundaki detaylı kodların ve yönetimi anlatan sayfaya buradan ulaşabilirsiniz

GZip ile Veri Transferini Düşürmek

admin | 03 January 2009 18:45

Bildiğiniz üzere ülkemizdeki internet çok pahalı ve bu yüzden de birçok kişi sınırlı ADSL kullanmak zorunda kalıyor; 4GBcık. Peki, sınırlı ADSL kullanıcıları için ne yapabiliriz? GZip’li veri transveri. GZip ile web sayfaları sunucuda %70 – %80 oranında sıkıştırılır, sıkıştırılmış olarak göderilir, istimcede açılır.

Bu yöntemle internet trafiğini hem ziyaretçi için hem de genel ağı kullananlar için rahatılmış olunur, web sitesi daha hızlı download edilir, 4GB sınırlı internet kullanıcılarının kotaları boşa harcanmaz, bandwidth’den tasarruf edilir… Tabii yan etkileri de var ama çok da önemli olduklarını düşünmüyorum; sunucunun ve istemcinin işlemcileri biraz daha fazla çalıştırcak.

Bananascript: %70 oranında javascript sıkıştırma

anon10500 | 12 December 2007 18:09

Web 2’nin yaygınlaşmasıyla yoğun bir şekilde javascript kullanımı başladı. Örneğin digg 138.4 kilobyte javascript kullanımı var. Durum böyle olunca hem server kısmında hem de kullanıcı kısmında yoğun bir internet trafik kullanımı söz konusu, yani sayfanın dolmasını bekleme süresi artıyor. Tabii araya bananascript girerek bu duruma el atıyor, ve %70’lik sıkıştırma oranı ile geçer not alıyor. Sayfaya girdikten sonra sıkıştıracağınız javascript dosyasını seçip “compress” tuşuna basınca iş bitiyor. Fakat dikkat etmeniz gereken bir nokta sayfanın charset ayarının “ISO-8859-1″ olması ya da diğer alternatif tüm sayfanın charsetini değiştirmektense sadece scriptinkini değiştirmek, örneğin: charset=”ISO-8859-1” src=”http://arsiv.pilli.com/asd.js”>
Buradan hakkında daha fazla öğrenebilirsiniz.

mod_gzip Test

kirpit | 07 March 2007 11:40

sevgili web site sahipleri; mod_gzip bir apache web server modülüdür ve kısaca kullanıcının tarayıcısına gönderilen HTML kodlarını (üretilen dinamik çıktıyı) gzip metoduyla sıkıştırarak gönderilmesini ve karşı tarafta tekrar açılarak kullanılmasını sağlar. Güncel tarayıcıların hepsi gzip sıkıştırma özelliğini desteklemektedir, ayrıca desteklemeyen tarayıcılara da geleneksel yöntemle göndermeye devam eder.

Bu sayfa hatta şu sayfadan kendi web sitenizi veya merak ettiğiniz bir web siteyi “acaba sıkıştırılmış mı?”, “ne kadar tasarruf etmiş?” ya da “sıkıştırılsaymış yüzde kaç tasarruf edermiş?” gibi testlere tabi tutabilirsiniz.

Gmail’e Web Sitenizi Yedekleyin

Makine | 18 October 2006 14:56

yedek almak sıkıcı bir işlem olduğundan çoğunlukla unutulan bir işlemdir. Ancak önemli bir proje esnasında yaptığınız unutganlık tüm emeğinizin boşa gitmesine sebep olabilir.

eğer unix bir sunucuda çalışıyorsanız cron, gmail, muttve bash tüm dertlerinize derman olabilir. Gmail verdiği yüksek disk alanı yedekler için adeta biçilmiş kaptan. Veritabanı yedeklerini de unix araçlarıyla alıp gmail’e yönlendirmek sandığınız kadar zor değil.