14 Mayıs 2008 Çarşamba

Belli başlı MIME tür/alt-tür grupları

text/plain Düz metin. Server istenen belgenin uzantısından türünü anlamazsa veya siz CGI programınızda çıktı'nızın içerik türünü belirtmezseniz, Server düz metni varsayılan içerik türü sayar
text/html HTML dosyası
text/richtext Rich Text biçimi. Bir çok kelime-işlemcisinin ortak dosya biçimidir; bir çok Browser tarafından anlaşılabilir.
image/gif GIF grafik dosyası. Ortak bir biçim olmakla birlikte, içendiği sıkıştırma teknolojisinin kullanımı için bir firmaya telif hakkı bedeli ödeme zorunluğu getirildiğinden bu yana yerini diğer biçimlere bırakıyor. Browser'lar tarafından IMG etiketiyle birlikte kullanıldığında HTML belgesinin parçası olarak görüntülenir.
image/jpeg JPEG grafik dosyası. GIF'ten daha çok renk derinliği içerebilir. Bütün Browserlar tarafından tanınır ve IMG etiketiyle birlikte kullanılabilir.
image/png PGN grafik dosyası. Internet için geliştirilmekte olan grafik biçimi. Henüz bütün Browserlar tarafından tanınmıyor. Bu biçimi tanıyan Browserlar, IMG etiketiyle kullanılan PNG dosyasını HTML belgesi içinde görüntüleyebilirler.
image/x-xbitmap Bitmap grafik dosyası. (Genellikle dosya adının uzatması .xbm olur.) Görüntü, piksel olarak tanımlandığı için fazla ayrıntılı görüntüler için elverişli değildir. Bütün Browserlar tarafından tanınmaz.
audio/basic 8-bit ulaw sıkıştırma tekniği ile üretilen ses kayıt dosyası. (Genellikle dosya adının uzatması .au olur.) Bütün Browserlar tarafından tanınmaz.
audio/x-wav Microsoft firmasının geliştirdiği Windows sistemi için ses kayıt dosyası. (Bütün Browserlar tarafından tanınmaz)
video/mpeg MPEG video kayıt dosyası. Bütün Browserlar tarafından tanınır.
video/quicktime Apple firmasının geliştirdiği MacOS ve Windows sistemleri için video dosyası. Browseın tanıması için ek program çalıştırılması (plug-in) gerekebilir.
video/x-msvideo Microsoft firmasının geliştirdiği Windows sistemi için video kayıt dosyası. (Genellikle dosya adının uzatması .avi olur.)
application/octet-stream Server tarafından tanınmayan bütün dosya türleri için bu içaret türü gönderilir ve bunu gören Browser kullanıcıyü bu dosyayı çalıştırmak veya görüntülemek yerine sabit diske kaydetme imkanı tanır.
application/postscript Postscript yazıcı dili ile gönderilen herhangi bir içerik.
application/vnd.ms-excel MS Site Server, Internet Information Server veya kişisel Web Server programlarının tanıdığı MS Office yazılım paketindeki Excel programının dosyası. Microsoft işletim sistemlerinde çalışan hemen hemen bütün Web Server programları tarafından da tanınmaktadır. (Bu türün alt türleri arasında "application/vnd.ms-powerpoint" ve "application/msword" de bulunur. MS firmasının Internet Browser programı IE tarafından bu içarek türü tanınır ve ilgili MS yazılı çalıştırılarak dosyanın içeriği görüntülenir; diğer browserlar bu içerik türünü sabit diske kaydetmeyi önerirler.

CONTENT_LENGTH ve QUERY_STRING değişkenlerinin doğrudan bizim Form etiketimizin METHOD özelliğine bağlı olduğunu farkettiniz mi? METHOD olarak GET veya POST kullanabiliriz. Bu, bizim ziyaretçimizden nasıl ve ne boyutta bilgi alacağımızı ve bilginin CGI programına nasıl aktarılacağını belirler.
Form'un oluşturduğu ve sizin GET yöntemi ile aldığınız bilgiler, çevre değişkenlerinden QUERY_STRING değişkeninin içine yazılır. Başka bir ifade ile Form'daki bütün değişkenlerin adları ve bu değişkenin içerdiği değer yumak yapılır (bu yumağın niteliğine ve nasıl çözeceğimize geleceğiz!) ve Server'da QUERY_STRING değişkeninin değeri olarak yazılır. Daha sonra belirteceğiz, ama şimdiden bir kenara yazın: Form'un gönderdiği değişkenler ve değerleri artık düz metin haline gelmiştir; bundan yeniden program yoluyla kullanılabilir değişkenler üretmek ve bu değişkenlere ziyaretçiden gelen değerleri atamak bizim işimiz olacak (ve galiba Perl ile CGI progralamanın da en can alıcı noktasını oluşturacak!).
Form'un bilgilerini POST yoluyla almış olsaydık bunlar CGI programı için standart girdi (stdin) olarak gelecekti. Bu iki yöntem arasındaki başlıca fark (ve herkesin POST yöntemini tercih etmesinin sebebi) stdin'in bilgi tutma kapasitesinin sınırsız olmasından ibarettir. QUERY_STRING değişkeni, Server'a, ve bu programın ayarlarına göre sınırlı boyutta bilgi tutabilir. Formlarınızda çok alan (yani çok değişken ve çok değer) varsa, mutlaka POST yöntemini kullanmalısınız. Aksi taktirde, bu bilgilerin QUERY_STRING değişkeninin bilgi tutma kapasitesini aşan bölümü, Server tarafından silinir, CGI programına aktarılmaz.
Çevre değişkenlerimizden REQUEST_METHOD, Form'dan bilgilerin hangi yöntemle geldiğini gösterdiğinize göre, CGI programımızı yazarken, önce bu değişkenin içeriğini kontrol edebiliriz; bu GET ise, demek ki Formun bilgileri QUERY_STRING değişkeninin içinde paket halinde duruyor. REQUEST_METHOD değişkenin değeri POST ise, ziyaretçimizin Formumuza yazdığı bilgiler, stdin olarak gelmiş ve stdin'in o andaki boyutunu gösteren bilgi de CONTENT_LENGTH değişkenine işlenmiş demektir.

Hiç yorum yok: