Önce büyük resim: istemci ve sunucu
Web'i anlamanın en kolay yolu onu bir lokanta gibi düşünmektir. Siz masada oturan müşterisiniz, tarayıcınız sizin adınıza sipariş veren garson, sunucu ise yemeği hazırlayan mutfak. Garson mutfağa "şu sayfayı istiyorum" der, mutfak sayfayı hazırlar ve geri gönderir, garson da tabağı önünüze koyar. Teknik dilde sizin bilgisayarınıza veya telefonunuza istemci (client), sayfayı hazırlayıp gönderen bilgisayara sunucu (server) denir.
Sunucu dediğimiz şey özel bir sihirli kutu değildir. Genellikle bir veri merkezinde duran, sürekli açık ve internete bağlı bir bilgisayardır. Sizin evdeki bilgisayarınız da teknik olarak sunucu gibi davranabilir, ama kapandığında site de kapanır. Bu yüzden siteler, bu iş için ayrılmış makinelerde, yani hosting hizmetlerinde barındırılır. Bu kavramların birbirinden farkını domain, hosting ve CMS farkı rehberinde ayrıca ele aldık.
Adım adım: adres çubuğundan ekrana
Tarayıcıya bir adres yazıp Enter tuşuna bastığınız an ile sayfanın görünmesi arasında genellikle bir saniyeden kısa bir süre geçer. Bu kısa sürede arka planda şunlar olur:
- Adresi yazarsınız: örneğin ornek.com. Bu, insanlar için hatırlanması kolay bir isimdir.
- Tarayıcı adresi sorar: Bilgisayarlar birbirini isimle değil, IP adresi denen sayılarla bulur. Tarayıcı, "ornek.com hangi IP adresinde?" diye DNS sistemine sorar.
- DNS cevap verir: DNS, alan adına karşılık gelen IP adresini bulup tarayıcıya söyler. Bu cevap bir süre hafızada tutulur, böylece her seferinde yeniden sorulmaz.
- Bağlantı kurulur: Tarayıcı o IP adresindeki sunucuya bağlanır. Adres https ile başlıyorsa bu bağlantı şifrelenir.
- İstek gönderilir: Tarayıcı, HTTP denen ortak dil ile "bana ana sayfayı gönder" der.
- Sunucu cevap verir: Sunucu istenen sayfanın HTML dosyasını ve bir durum kodu gönderir.
- Tarayıcı sayfayı çizer: HTML'i okur, içinde geçen CSS, resim ve JavaScript dosyalarını da ayrıca ister ve hepsini birleştirip ekrana yerleştirir.
Bu sıralamayı bir kez kavradığınızda "site açılmıyor" gibi bir sorunla karşılaştığınızda nereye bakacağınızı daha iyi tahmin edersiniz. Alan adı yeni alındıysa sorun çoğu zaman DNS tarafındadır; sayfa açılıyor ama bozuk görünüyorsa sorun genellikle CSS veya resim dosyalarındadır.
Bilmeniz gereken birkaç kelime
Web'in kendine ait bir sözlüğü var. İlk aşamada aşağıdaki kelimeleri tanımanız yeterli olur:
| Terim | Basit anlamı |
|---|---|
| IP adresi | İnternete bağlı her cihazın sayılardan oluşan adresi; ev adresi gibi düşünebilirsiniz. |
| DNS | Alan adlarını IP adreslerine çeviren sistem; telefon rehberine benzer. |
| HTTP / HTTPS | Tarayıcı ile sunucunun konuştuğu dil. HTTPS, bu konuşmanın şifreli hali. |
| URL | Bir sayfanın tam adresi; alan adı ve sayfa yolunu birlikte içerir. |
| HTML | Sayfadaki başlık, paragraf ve bağlantıları tarif eden işaretleme dili. |
| Durum kodu | Sunucunun "tamam", "bulunamadı" veya "bir sorun var" demesinin kısa yolu. |
Durum kodlarından en sık karşılaşacaklarınız 200 (her şey yolunda), 404 (sayfa bulunamadı) ve 500 ile başlayan kodlardır (sunucu tarafında bir hata var). 404 sayfasını muhtemelen siz de defalarca görmüşsünüzdür; artık ne anlama geldiğini biliyorsunuz.
Statik ve dinamik sayfa farkı
Bazı siteler, sunucuda hazır duran HTML dosyalarını olduğu gibi gönderir. Bunlara statik site denir. Basit, hızlı ve güvenlidirler ama her değişiklik için dosyayı elle düzenlemeniz gerekir. Kişisel bir tanıtım sayfası veya küçük bir proje sitesi için çoğu zaman yeterlidirler.
Diğer siteler ise sayfayı istek geldiği anda hazırlar. Sunucuda çalışan bir program (örneğin PHP ile yazılmış bir yazılım) veritabanından yazıları çeker, bir şablonla birleştirir ve sonucu HTML olarak gönderir. Bunlara dinamik site denir. WordPress gibi içerik yönetim sistemleri bu şekilde çalışır; siz panelden yazı eklersiniz, gerisini yazılım halleder. Yeni başlayan biri için bu farkı bilmek, hangi yöntemle site kuracağını seçerken işe yarar. Bu seçimi ilk site planlama rehberinde daha ayrıntılı tartıştık.
Kendi gözünüzle görün: küçük bir deney
Teoriyi okumak bir yere kadar; asıl öğrenme kendiniz denediğinizde başlar. Bilgisayarınızdaki tarayıcıda herhangi bir sayfayı açın ve şunları deneyin:
- Sayfada sağ tıklayıp "Sayfa kaynağını görüntüle" seçeneğini seçin. Karşınıza çıkan metin, sunucunun gönderdiği HTML'dir.
- Klavyeden F12 tuşuna basarak geliştirici araçlarını açın. "Network" (Ağ) sekmesinde sayfayı yenilediğinizde tarayıcının kaç ayrı dosya istediğini ve her birinin durum kodunu görebilirsiniz.
- Adres çubuğundaki kilit simgesine tıklayın. Bağlantının şifreli olup olmadığını ve sertifika bilgisini burada görürsünüz.
- Var olmayan bir sayfa adresi yazın (örneğin alan adının sonuna /deneme-yok/ ekleyin) ve sunucunun 404 cevabını gözlemleyin.
Bu küçük deneyler korkutucu görünen teknik dünyayı somutlaştırır. Geliştirici araçları ileride HTML ve CSS öğrenirken en yakın dostunuz olacak; nasıl kullanılacağına HTML ve CSS'e başlangıç rehberinde de değindik.
Bir sayfa hangi dosyalardan oluşur?
Ekranda tek bir bütün gibi gördüğünüz sayfa, aslında birlikte çalışan birkaç farklı dosya türünden oluşur. Her birinin ayrı bir görevi vardır ve bunları bir binanın parçalarına benzetebilirsiniz:
- HTML: Binanın iskeleti. Başlığın nerede olduğunu, hangi metnin paragraf, hangisinin liste olduğunu söyler.
- CSS: Boya, mobilya ve dekorasyon. Renkleri, yazı tiplerini, boşlukları ve sayfanın telefonda nasıl dizileceğini belirler.
- JavaScript: Elektrik tesisatı gibi düşünebilirsiniz. Açılır menüler, kaydırmalı galeriler ve formdaki anlık kontroller gibi hareketli kısımları çalıştırır.
- Medya dosyaları: Resimler, videolar ve yazı tipi dosyaları. Genellikle bir sayfanın en büyük kısmını bunlar oluşturur.
Tarayıcı önce HTML'i alır, içinde adı geçen diğer dosyaları fark eder ve her birini ayrı ayrı ister. Bu yüzden bir sayfanın ne kadar hızlı açılacağı, büyük ölçüde bu dosyaların sayısına ve boyutuna bağlıdır. Yeni başlayanların sitesini en çok yavaşlatan şey, telefondan çekilip hiç küçültülmeden yüklenen büyük fotoğraflardır. Resimleri yüklemeden önce boyutlarını küçültmek, uğraşmadan elde edebileceğiniz en kolay hız kazancıdır.
Sık görülen sorunlar ve muhtemel sebepleri
Web'in işleyişini bildiğinizde, karşılaştığınız sorunu doğru adıma bağlayabilirsiniz. Aşağıdaki tablo ilk aylarda en sık karşılaşılan durumları özetliyor:
| Ne görüyorsunuz? | Büyük ihtimalle nerede? |
|---|---|
| "Bu siteye ulaşılamıyor" mesajı | DNS ayarı henüz yayılmamış veya alan adı yanlış yönlendirilmiş |
| Sayfa açılıyor ama düzensiz, renksiz | CSS dosyası yüklenemiyor; dosya yolu hatalı olabilir |
| Resimlerin yerinde boş kutular | Resim adresi yanlış veya dosya sunucuya yüklenmemiş |
| "Bağlantınız gizli değil" uyarısı | SSL sertifikası eksik veya süresi dolmuş |
| Beyaz ekran ya da 500 hatası | Sunucuda çalışan yazılımda bir hata var |
Bu tablo kesin teşhis koymaz, ama nereden bakmaya başlayacağınızı gösterir. Bir sorunu forumda sorarken "hangi adımda takıldığımı düşünüyorum" diye yazabilmek, cevap almanızı da hızlandırır.
Bu bilgi size ne kazandırır?
Web'in nasıl çalıştığını bilmek sizi bir gecede uzman yapmaz, ama bir harita verir. Hosting firmasından gelen bir e-postada "DNS yayılması" lafını gördüğünüzde panik yapmazsınız. Siteniz yavaş açıldığında sorunun çok büyük resimlerden mi yoksa sunucudan mı kaynaklandığını sorgulamayı bilirsiniz. Forumda soru sorarken de derdinizi daha net anlatırsınız.
Takıldığınız bir kavram olursa Webmaster Forum'daki Ne Nedir? bölümü kısa açıklamalar için iyi bir kaynaktır. Sırada ne öğreneceğinizi merak ediyorsanız webmaster yol haritası rehberi size adım adım bir plan sunuyor. Başlangıç konularının tamamına webmasterlığa başlangıç sayfasından ulaşabilirsiniz.
Forumdaki ilgili bölümler
- Ne Nedir?Teknik kavramların kısa açıklamaları.
- Yeni BaşlayanlarTemel sorular için sıcak bir başlangıç noktası.
- Sunucu/Hosting Bilgi AlışverişiSunucu ve barındırma konusunda bilgi paylaşımı.
Sık sorulan sorular
İnternet ile web aynı şey mi?
Hayır. İnternet, dünyadaki bilgisayarları birbirine bağlayan ağın kendisidir. Web ise bu ağ üzerinde çalışan, tarayıcıyla açtığınız sayfalardan oluşan hizmettir. E-posta da interneti kullanır ama web değildir.
DNS değişikliği neden hemen etkili olmaz?
DNS cevapları hız kazanmak için farklı noktalarda bir süre önbellekte tutulur. Bu yüzden alan adını yeni bir sunucuya yönlendirdiğinizde herkesin yeni adresi görmesi birkaç saatten bir güne kadar sürebilir.
HTTPS neden önemli?
HTTPS, tarayıcı ile sunucu arasındaki verinin şifrelenmesini sağlar. Böylece form bilgileri gibi veriler yolda okunamaz. Tarayıcılar şifresiz sitelerde uyarı gösterebildiği için güven açısından da önemlidir.
Kendi bilgisayarımı sunucu olarak kullanabilir miyim?
Öğrenmek ve denemek için evet; bilgisayarınızda yerel bir sunucu kurarak sitenizi sadece kendiniz görebilirsiniz. Herkese açık bir site için ise sürekli açık ve güvenli bir hosting hizmeti kullanmak çok daha uygundur.