HTML 4.01
Standardı:
Gerçek anlamda 3 tane HTML
4.01 versiyonu vardır. Bunlar;
·
Strict
·
Transitional
·
Frameset
olarak adlandırılır. Bu versiyonların her biri
kendilerine ait bir "Döküman Tipi Tanımı" (DTD: Document
Type Definition) ile temsil edilir. Bunlar;
Strict HTML 4.01 (Değişmez, katı): Bu versiyon saf HTML
4.01'i ifade eder. Bu döküman tipinde atılmış (obsolete) ve değerini kaybetmiş (deprecated) etiketleri asla kullanılmaz.
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
ile başlamalı.
Transitional HTML 4.01 (Geçişli): Önceki versiyonlar olan HTML 3.2 ve HTML
4.0 'ın çeşitli yönlerini alarak şimdi ki strict versiyon
yapısıyla kombine eden standarttır.
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
ile başlamalı.
Frameset HTML 4.01 (Frame Tabanlı): Geçişli versiyondaki tüm
bilgiler ile FRAME, FRAMESET, NOFRAMES ve IFRAME gibi frame tabanlı
öğelerin tümünü kapsayan versiyondur. Çerçeve içeren sayfa
yapıyorsanız bu döküman tipi tanımını yapmalısınız.
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd">
<HTML>
ile başlamalı.
Bu döküman
tipi belirtimlerinin sayfanın görünümü açısından direkt etkili
olmadığını sadece dökümanın geçerlilik
kazanmasına yaradığını ifade edelim. Her 3 versiyon
bilgisinin bir web sayfası kodunda nasıl yer alacağına dair
bilgi aşağıda yer alıyor;
DEPRECATED
Tanımlaması: (değerini yitirmiş) Yukarıda listelenen
etiketler içerisinde "Deprecated" olarak belirtilmiş etiketler
değerini yitirmiş (modası geçmiş) etiketlerdir. Artık
bunları kullanmasak da olur, çünkü aynı işlevi elde edebilmek
için daha yeni alternatifler ortaya konmuştur. Bir etiketin DEPRECATED
olarak tanımlanmasının anlamı budur.
W3C
Konsorsiyumu bu etiketleri kullanmaktan kaçınmamızı
önermektedir. Ancak bunları kullanmanın öyle büyük bir
sakıncası da yoktur. Çünkü tarayıcılar bu etiketleri hala
yorumlayabilirler.
HTML 4.01
sürümünde değerini kaybetmiş etiketler şunlar; APPLET, BASEFONT,
CENTER, DIR, FONT, ISINDEX, MENU, S, STRIKE, U
OBSOLETE
Tanımlaması: (kullanım dışı) Bir de
"Obsolete" olarak tanımlanan etiketler vardır. Bu etiketler
artık kullanımda değildir ve yeni HTML standartlarından
çıkarılmışlardır. Hemen aklımıza gelen
"Obsolete" olarak belirlenmiş şunlar; EMBED, LISTING,
PLAINTEXT, XMP, BLINK MARQUEE, BGSOUND, MULTICOL .
Örnek Şablon:
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Web Sayfası
Başlığı</title>
<meta http-equiv="content-language"
content="TR">
<meta HTTP-EQUIV="Content-Type"
CONTENT="text/html; CHARSET=windows-1254">
<meta HTTP-EQUIV="Content-Type"
CONTENT="text/html; CHARSET=iso-8859-9">
<meta name="description"
CONTENT="Açıklama">
<meta name="keywords" CONTENT="kelime1,
kelime2, kelime3">
<meta name="author" CONTENT="isminiz">
<meta name="language"
CONTENT="tr">
<meta name="reply-to"
CONTENT="isim@isminiz.com">
<meta name="robots"
CONTENT="INDEX,FOLLOW">
<style type="text/css">
body {
background: white; color: black}
A:link { color: red }
A:visited { color: maroon }
A:active { color: blue }
A:hover { color:
black }
</style>
</head>
<body>
<!-- sayfa icerigi buradan baslar -->
<!-- sayfa icerigi burada biter -->
</body>
</html>
Şablonun mutlaka böyle olması zorunluluğu yoktur. Herkesin
kendi ihtiyaçlarına göre bir şablon HTML dökümanı
hazırlaması büyük kolaylıklar sağlayacaktır.
Referans:
http://www.w3.org/TR/html4/sgml/framesetdtd.html
Web Sitesi Tasarlarken vb
Geliştirirken Nelere Dikkat Edilmeli?
Giriş:
Bize göre Web'in sihiri, çok farklı türden bilgilere
aynı platformda vb bütünleşik bir şekilde sunmasıdır.
HTML sayfaları, grafik, animasyon, film, müzik.( arkaplan=background
müzikleri, önplan=foreground müzikleri) gibi tipleri içerir. Bunun
dışında, standart olmayan veri yapılarının da web
üzerindeki diğer bilgilerle entegrasyonuna "plug-in" denilen
yardımcı programlar vasıtasıyla izin verirler.
(Örneğin: .doc, .xls, .pdf ve macromedia flash plug-inleri vb
)
Sayfa içeriği
belirlenmesi ve dikkat edilmesi gereken hususlar:
Web sayfasında
hangi bilgilerin yer alacağını saptamak ilk adım
olmalıdır.Sayfanızı hazırlamadaki amacınız
ne? Sorusuna net cevaplar verilmelidir. Amacımız kendinizi mi, bir ürünü mü, bir organizasyonu mu (kurum,
kuruluş, özel teşebbüs vb) tanıtmak?
Daha sonra, bir
süre web'de gezinmek çok yaralı olacaktır. Tasarlamaya
çalıştığımıza benzer içerikli sayfaları
internet arama motorları (search engine; Altavista, Yahoo, Google, Lycos,
Netbul vb) yardımı ile bulunması iyi fikir olacaktır. Bu benzer sayfalarda hoşunuza giden,
gitmeyen, eksiğini gördüğünüz, olmasının yararlı
olacağını düşündüğünüz özelliklerin bir listesini
çıkarabilirsiniz. Buradan, iyi ya da kötü tasarımın ne
olduğu konusunda kafanızda fikirler oluşacaktır.
Öte yandan, normal
bir internet kullanıcısının profesyonel bir grafik ya da
web sayfası tasarımsıcı olması beklenemez. Bu yüzden,
hazırlanacak olan ilk sayfalarımız basit ve sade görünümlü olabilir.
Her zaman, web
sayfasının içerdiği bilgilerin önemli olduğunu ve sayfa
düzeninin de bu bilgilere kolayca erişimi sağlayacak
şekilde olmasının getireceği kolaylıklar ve
avantajları akılda bulundurun.
Eğer web
sayfalarınızda birden çok veya bir konuyu işleyeceksek, buna
göre ilgili dosyaların düzenli bir dizin yapısına sokmak iyi bir fikir olacaktır. Her
farklı içerikli sayfanın
farklı bir dizinde saklanması sayfa organizasyonunu
kolaylaştırır.
Belirli bir konuda
hazırlanmış iyi web sayfaları, öncelikle, buraya
bağlanan insanların mümkün olduğunca zahmetsiz ve kısa
yoldan isteklerine ulaşmalarını sağlamalıdır.
Ayrıca, konunun dışına taşmadan, verilmek istenen
anlatılmalıdır. İnsanların, ekranlar dolusu uzunlukta
yazılardan oluşan bir siteyi okumaktan
sıkılacaklarını düşünerek içerik
hazırlamalıyız.
Web sayfasında
ne kadar grafik/resim/ses vb olacağı, bu dosyaların
büyüklüklerinin günümüz altyapısı ile olan uyumu da çok önemlidir.
Web kullanıcıları, bağlandığı bir web
sayfasında 100lerce kilobyte tutan bir resim ya da animasyon
dosyasının yüklenmesini beklemek istemez. Web sayfalarında resim
ve animasyon kullanımı sayfanın çekiciliğini arttırsa
da, bazı İnternet kullanıcıların bağlantı
kapasitelerinin hala çok düşük düzeylerde olduğu
unutulmamalıdır.
Backup
politikasının belirlenmesi sitenin devamlılığı
açısından çok önem kazanmıştır. (Günlük, aylık,
real-time backup)
Bütün
tarayıcılarla uyumlu olup olmadığı test edilmeli.
(Netscape, MS Internet Explorer, Opera vb) İnternet
kullanıcıların değişik tipte
tarayıcıları kullandıkları göz önüne
alınmalıdır. Yani, mümkün olduğu kadar fazla
tarayıcı için uyumlu olan etiketler ve teknolojiler
kullanılmalıdır.
Diğer önemli
hususlar:
şeklindeki
bir satır oldukça işe yarar.
Hazırladığınız sayfalara,
mümkünse birkaç farklı web tarayıcısı ile
(netscape,Microsoft Internet Explorer, Mosaic, Opera vb)
bakılmalıdır. Tarayıcı penceresini küçülterek (window
resize) sayfanızın nasıl göründüğünü kontrol edilmelidir.
Tabloların kayıp kaymadığı, paragraflar düzeni gözden
geçirilmelidir.
Web sitelerinin duyurulması için birkaç
ipucu:
Listeler ve
tartışma grupları sayfanızın varlığından
söz eden mesajlar atabiliriniz.
Gönderdiğiniz
her e-posta'nın sonuna isminizden sonra web sayfanızın adresini
(Signature) yazabilirsiniz. Bu yolla daha çok insanın bilgisi
olacaktır.
AltaVista, LyCos
gibi popüler arama motorlarına sayfanızı kaydettirebilirsiniz.
Ayrıca,
içerikle ilgili anahtar kelimeleri aşağıdaki kodla birlikte web
sayfanızın başına koyarak arama motorlarının
sitenizi daha kolay bulmasına yardımcı olabilirsiniz. (Meta
etiketindeki keywordsleri kullanmak suretiyle)
Örnek:
<meta
name="keywords" CONTENT="kelime1, kelime2, kelime3">
<html>
<head>
<title>Web Sayfası
Başlığı</title>
<meta
HTTP-EQUIV="Content-Type" CONTENT="text/html;
charset=windows-1254">
<meta name="description"
CONTENT="Cüneyt Sevgi Official Home Page">
<meta name="keywords"
CONTENT="Cüneyt Sevgi, , METU, Informatics Institute">
<meta name="author" CONTENT="Cüneyt">
<meta name="language"
CONTENT="tr">
<meta name="reply-to"
CONTENT="csevgi@ii.metu.edu.tr">
<meta name="robots"
CONTENT="INDEX,FOLLOW">
<style type="text/css">
body { background: white; color: black}
A:link { color: red }
A:visited { color: maroon }
A: active { color: blue }
A:hover { color: black }
</style>
</head>
<body>
<!-- sayfa icerigi buradan baslar -->
.
.
.
.
.
Meta etiketleri, HTML sayfalarının
başında yer alan elementlerdir. Meta etiketlerinin görevi web
sayfası hakkındaki bilgileri tutmaktır.
<meta http-equiv="Content-Type"
content-text/html;
charset=windows-1254">
Sayfada Türkçe font kullanılmış ise, bunu
ziyaretçinin web tarayıcısı Türkçe olarak gösteren etiketlerdir.
<meta http-equiv="Content-Type"
content="text/html;
charset=ISO-8859-9">
<meta http-equiv="Content-Type"
content-text/html;
charset=windows-1254">
Bu etiket kullanılmaz ise,
kullandığımız Türkçe harfler ziyaretçimizin
bilgisayarında düzgün görünmeyebilir ve ne
yazdığımızı anlamayabilir.
Web sayfalarının
tanıtımı için de meta etiketlerinden yararlanılabilir. Buda
ya arama motorlarına ve bazı listelere üye olmak ile ya da
sayfanız ile aynı amacı paylaşan sayfalara link vermek ile
mümkün olabilir. Bunun bir yolu daha var. Sayfamızdaki meta etiketi ile
bazı arama motorlarında görüntülenmesini sağlayabiliriz.
<meta name="keywords" content="kelime1,
kelime2, kelime3..">
Örnek:
<meta name="keywords" content="Arcelik,
Arçelik, arçelik, buzdolabi, buzdolabı">
Sayfamızın arama motorlarında
görüntülenmesini meta etiketleri sayesinde sağlayabiliriz. Ama bir de
sayfamızın içeriği hakkında daha geniş bilgi
vermeliyiz. Bu sayede ziyaretçi hiç tereddüt etmeden
aradığının bizim sayfamızda olduğunu anlayacak ve
ziyaret edecektir.
<meta
name="description" content="Türkiyenin En Büyük Buzdolabı
Üreticisi...">
Sayfanın yapımcısının adının bulunması, sayfanın bu parametreye göre çalışan arama motorlarının sayfamızı daha rahat bulabilmesi için iyi olacaktır.
Bunun için:
<meta name="author" content="Cüneyt
Sevgi">
Bazı arama motorları arama yapalara sonucu
gösterirken site yapımcısının adını "author"
ifadesini okumak sureti ile yapar. Bu bir nevi sizin imzanız da
sayılabilir.
Örnek:
<meta http-equiv="expires"
content="Wed, 04 Apr 2001 23:59:59 GMT">
Bu meta etiketi sayfanın 4 Nisan 2001'de GMT
saatiyle 23:59:59'dda tüm arama motorlarından ve Browser'ların geçici
internet dosyaları klasöründen silinmesini sağlar.
Örnek:
<meta http-equiv="refresh" content="10;
url=http://www.cuneytsevgi.com">
Bu meta etiketi ise, sayfanın 10 saniye sonunda
belirtilen adrese yönlendirilmesini sağlar.
Her arama motorunun indeksleme yöntemi
farklıdır. Bazen istediğimiz sonucu elde edemeyebiliriz. Birçok
arama motoru da bir süre geçtikten sonra sayfamızı kaydedebilir
HTML'nin YETERSİZ YÖNLERİ
HTML işin en başında bir tasarım dili
olarak planlanmamıştı. Amaç dökümanları düz ve basit bir
şekilde biçimlendirmekti. Ancak web yayıncılığı
bugün öyle bir noktaya geldi ki; HTML ne kadar geliştirilirse
geliştirilsin bazı konularda web tasarımcıların
isteklerine tek başına cevap veremiyor. Günümüze dek HTML'nin yetersiz
yönlerini azaltabilmek amacıyla bir çok yöntem geliştirildi. Script
kullanımı, Stiller, gelişkin tablolama ve frame özellikleri,
CSS, DHTML gibi... Ama bu yöntemler de kendi içinde birtakım problemlere
sahipler. Bulunan çözümler ya ticari markalara bağımlı, ya
plug-in'ler gibi ek uygulamaların kurulumuna ihtiyaç duyuyorlar ya da
bütün web tarayıcılar tarafından desteklenmiyorlar.
İşte buna benzer yetersizlikeri ile
HTML, tek başına ihtiyaçlarımızı tam olarak
karşılamıyor.
Dinamik İçerik
Sorunu:
Bir web sayfasının "dinamik" olarak
nitelenebilmesi için görünüşün (renk, font özellikleri, imaj özellikleri
vb...) veya sayfada sergilenen verilerin sayfa yeniden yüklenmeden
yenilenebilir ya da değişebilir olması gerekir. HTML bu işi
tek başına çözemiyor. Web sayfalarına dinamik özellik katmak
için Java, DHTML gibi ek teknolojilerin devreye girmesi gerekiyor.
Genişletilebilirlik
Sorunu:
HTML genişletilebilir bir dil
değildir. Sayfa geliştiricileri kendi içeriklerini daha iyi
ilişkilendirebilmek için kendi etiketlerini HTML ile yaratamazlar. Bu
nedenle W3C Konsorsiyumu "XML" gibi yeni teknoloji standartları
ortaya koymak zorunda kaldı.
Tekrar Kullanım
Sorunu:
HTML bir web sayfasındaki bilgiyi tekrar kullanmak
için kullanışlı metotlardan yoksundur. Herhangi bir veri
kümesinin değişmesi halinde oturup bunu tek tek ilgili web
sayfalarında elle değiştirmek zorunda kalabiliriz.
Nesne Yönelimi
Yoksunluğu:
İyi bir sayfa geliştiricisi "nesne
yönelimi" gücünü sonuna kadar kullanmak ister. HTML şu andaki
yapısıyla bir "nesne modeli" (object-oriented) desteklemez.
Güvenli Veri Akışı
Problemleri:
Web
dökümanları arasındaki otomatik ve güvenli veri
alışverişinde HTML tek başına hiçbir işe yaramaz.
Halbuki bugünün web sayfalarının çoğu birbirleriyle sürekli
ilişki içinde olmak ve birbirlerine sürekli veri aktarmak zorundadır.
(ASP, PHP gibi)
Uluslararası Olma Özelliği:
HTML'nin özel ya da
uluslararası karakterler konusunda tutarlı bir çözümü yoktur.
Örneğin Türkçe oluşturulmuş bir web dökümanı ilave
desteklerle sağlamlaştırılmazsa ülke ya da platform
değişikliklerinde bozulup, okunamaz hale gelebilmektedir. Bu sorun
matematiksel formüller kullanılmak istendiğinde de ortaya çıkar.