[Linux-programlama] Re: html icine resim gommek

---------

[Linux-programlama] Re: html icine resim gommek

From: Necmettin Begiter <necmettin.begiter_at_gmail.com>
Date: Thu, 4 Dec 2008 14:24:37 +0200
Message-ID: <3787dfa80812040424q2b38b368t5a2b94373f36353f@mail.gmail.com>

2008/12/2 What you get is Not what you see <wyginwys_at_gmail.com>

> Merhaba
> Sunucuda php ile olusturdugum html dosyalarinin icinde resimler de
> var.Bu dosyalari indirince icindeki resimler de dosyayla beraber
> inmiyor. Sadece <img src=resim.jpg> seklinde gozukuyor. Htmlyi acinca
> sonradan inmelerini de ben istemiyorum. Bu durumda sanirim resmi
> htmlnin icine gommekten baska bir care kalmiyor.Varsa da ben
> bilmiyorum.
> O isi de asagidaki gibi bir kod yapiyor
>
> $file = "icon.gif";
> if($fp = fopen($file,"rb", 0))
> {
> $picture = fread($fp,filesize($file));
> fclose($fp);
> // base64 encode the binary data, then break it
> // into chunks according to RFC 2045 semantics
> $base64 = chunk_split(base64_encode($picture));
> $tag = '<a href="http://www.britblog.com/"><img ' . "n" .
> 'src="data:image/gif;base64,' . $base64 .
> '" alt="British Blog Directory" width="80" height="15" />';
> echo $tag;
> }
>
> AMA olusan htmlnin boyutlari cok buyuk (3MB mesela) olabiliyor. Bu
> durumu asmak icin ne yapmak lazim?
> Bir sekilde zipleyerek kucultme olabilir mi? Ya da web serverin
> requesti gzip olarak gondermesi gibi bir sey yapilabilir mi?
> Yapilsa boyut kuculur mu?
>

- Web sunucunun gelen isteğe cevap vermek için araya GZip'i ve/veya BASE64'e
çevirme işlemini alması, sunucunun daha işlemci yoğun çalışması anlamına
gelir, dolayısıyla bazı istekleri yanıtlamak gecikir.
- Normalde ikili kodlanmış herhangi bir dosyayı BASE64'e çevirmek o dosyanın
boyutunu yaklaşık olarak yüzde 25 oranında büyütür, çünkü 8 bitlik veriyi 6
bite indirmiÅŸ olursunuz.
- Web istemciler zaten statik dosyaları arabelleklerine alır, arabellekteki
dosyanın sunucudaki karşılığı değişmediği sürece de yeniden indirmez.
Dolayısıyla eğer bahsettiğiniz grafikler sık değişmiyorsa zaten her istekte
yeniden indirilmezler.
- Statik bir dosyayı istemciye gönderme işleminde, araya herhangi bir betik
dili (örneğin PHP) almak sunucu yazılımın gerekenden fazla iş yapması
anlamına gelir.
- HTML aslen metin dışındaki öğelerin ayrıca indirilmesi mantığına dayanır,
dolayısıyla resimleri de HTML'nin içine gömmek, her ne kadar mümkün olsa da,
çok elzem olmadıkça yapılması tavsiye edilmeyen bir yöntemdir.
- HTTP tüm sayfayı bir kerede göndermek için değil istekleri parçalara
ayırıp sadece gerekenleri gönderecek şekilde tasarlanmış bir protokoldür ve
HTTP üzerinden giden her nesne etag denen bir sistemle etiketlenir, böylece
arabellek kullanılması sağlanır.

Derseniz ki tüm resimler inmeden sayfa görüntülenmesin, bunun yolu resimleri
metne dönüştürerek göndermek değil, sayfa inmeye başladığında "yükleniyor"
metni görüntüleyip tüm öğelerin indirilmesi tamamlandığında "yükleniyor"u
gizleyip diğer öğeleri görüntülemektir. Uzun lafın kısası, bırakın sunucu
resim dosyalarını ayrıca indirsin.

Necmettin Begiter
TBD Bilişim dergisi, Editör

_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Thu 04 Dec 2008 - 13:29:19 EET

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.