Tim Berners‑Lee’nin URL, HTTP ve HTML’i nasıl birleştirerek World Wide Web’i oluşturduğunu ve bu basit fikirlerin neden modern uygulamalar ve API’leri hâlâ çalıştırdığını öğrenin.

World Wide Web (kısaca “Web”), bağlantılar kullanarak bilgi yayınlama ve erişme yöntemidir. Bir sayfadan diğerine tıklamanıza, arama sonuçlarından bir ürün sayfası açmanıza veya neredeyse her bilgisayar veya telefonda çalışan bir bağlantı paylaşmanıza olanak veren sistemdir.
Özü itibarıyla Web pratik bir üçlüyle çalışır:
Programcı olmanız gerekmez: bir bağlantı yapıştırdığınızda, bir sayfa yüklediğinizde veya sizi bir yere götüren bir düğmeye tıkladığınızda URL + HTTP + HTML’e dayanırsınız.
Birçok kişi “Web” ve “İnternet”i eş anlamlı kullanır, ama farklılar:
E‑posta, çevrimiçi oyunlar ve birçok sohbet uygulaması “Web” olmadan İnternet’i kullanır.
Tek sayfa uygulamalar, mobil uygulamalar ve API’ler bile bu temellere dayanır. Ayrıntıları gizleyebilirler, ancak hâlen kaynakları tanımlamak için URL'ler, istek‑yanıt alışverişi için HTTP, ve tarayıcıda görülecek içeriği başlatmak için çoğunlukla HTML kullanırlar.
Tim Berners‑Lee “internet”i icat etmeye çalışmıyordu. 1989’da CERN’de çalışırken odaklandığı pratik sıkıntı şuydu: önemli bilgiler vardı, ama uyumsuz sistemler arasında dağınık, farklı biçimlerde saklanmış ve sonra bulmak zordu.
Araştırmacılar, ekipler ve departmanlar farklı bilgisayarlar ve yazılımlar kullanıyordu. İki grup “aynı” tür belgeye sahip olsa bile, farklı yerlerde saklanabilir, farklı adlandırılabilir veya açmak için özel bir programa ihtiyaç duyabilirdi. Paylaşım genellikle dosyaların gönderilmesi, kopyaların çoğaltılması ve hangi sürümün güncel olduğunun kaybedilmesi anlamına geliyordu.
Berners‑Lee’nin temel fikri, herkesin kendi bilgisayarında bir belge yayımlamasına izin verip başkalarının bunu tutarlı bir yöntemle erişebilmesini sağlamaktı—makine türünü, işletim sistemini veya iç dizin yapısını bilmeye gerek olmadan.
Bunun çalışması için birkaç şeyin birlikte olması gerekiyordu:
Atılım tek bir özellik değildi—sistemi küçük ve evrensel tutma kararıydı. Kurallar yeterince basit olursa, farklı bilgisayarlar ve kuruluşlar bunları uygulayıp hâlâ iletişim kurabilirdi.
Bu, açık standartların baştan neden önemli olduğunu da açıklar: web, birçok bağımsız sistemin katılabilmesi için ortak, kamusal kurallara ihtiyaç duyardı. Bu ortak standartlara odaklanma—tek bir satıcının araç zinciri yerine—webin hızla yayılmasını ve yeni tarayıcılar ile sunucuların mevcut içerikle çalışmasını mümkün kıldı.
Dağınık bir ofis sürücüsünde “dosya paylaşmaya” çalıştıysanız, ağların temel sorunu olan adlandırmanın ne kadar zor olduğunu görmüşsünüzdür: farklı bilgisayarlar bilgiyi farklı yerlerde saklar, klasörler yeniden düzenlenir ve iki dosya aynı ada sahip olabilir. Paylaşılan bir adlandırma sistemi olmadan “şuna git” diyemezsiniz.
URL’ler Web için bunu çözdü: bir kaynağın evrensel, kopyala‑yapıştır yapılabilir bir adresini sağladılar.
Aşağıda tanıdık gelebilecek bir örnek:
https://www.example.com:443/products/shoes?color=black&size=42#reviews
Her parça ne anlama geliyor (sade Türkçe):
Bir URL, bir sunucunun döndürebileceği hemen her şeyi tanımlayabilir: bir HTML sayfası, resim, PDF, indirilebilir dosya veya bir uygulamanın kullandığı API uç noktası.
Örneğin:
/images/logo.png (bir resim)/docs/terms.pdf (bir belge)/api/orders/123 (uygulama için veri)Bu kelimeler sıklıkla birbirinin yerine kullanılır:
Pratikte “URL = adres” düşüncesi sizi %95 oranında doğruya götürür.
HTTP, webin temel konuşma tarzıdır. Basit anlaşma şudur: tarayıcınız bir şey ister, sunucu da sahip olduğu şeyi veya neden veremediğini yanıtlar.
URL yazdığınızda veya bir linke tıkladığınızda, tarayıcınız sunucuya bir HTTP isteği gönderir. İstek, "Bu spesifik kaynağı istiyorum" der gibidir.
Sunucu sonra bir HTTP yanıtı gönderir. Yanıt, istediğiniz içeriği (ör. bir sayfa) veya başka bir durum açıklamasını içeren pakettir.
HTTP istekleri bir method içerir; bu, yaptığınız eylemin türüdür.
GET genelde sunucuda bir değişiklik yapmaz; daha çok okuma amaçlıdır. POST ise genelde gönderilen bilginin işlenmesini istediğiniz durumlarda kullanılır.
Her yanıt bir durum kodu içerir—bunu teslimat sonucuna benzetin.
İstekler ve yanıtlar ayrıca “başlıklar” içerir; bunlar bir nevi etiket gibidir: "Ben kimim", "Ne kabul ediyorum" veya "Bu içerik nasıl ele alınmalı" gibi.
En faydalı etiketlerden biri Content-Type'tır; örneğin text/html bir web sayfası, application/json veridir. Bu, tarayıcıya içinde ne olduğunu söyler ve doğru şekilde göstermesine yardımcı olur.
HTML, bir web sayfasının yapısını tanımlamak için kullanılan formattır—içeriğin ne olduğu ve nasıl düzenlendiği. Bir belgeyi etiketleyen bir yapı gibi düşünün: "bu bir başlık", "bu bir paragraf", "bu bir bağlantı", "bu bir form alanı".
HTML, içeriği işaretlemek için etiketler kullanır. Bir etiket genellikle açılış ve kapanış biçimindedir ve tanımladığı içeriği sarar.
Başlıklar ve paragraflar sayfaya şekil verir. Başlık hem insanlar hem tarayıcılar için "bu önemli bir bölüm başlığı" der. Paragraf ise "bu gövde metni" der.
Resimler ve bağlantılar da HTML ile tanımlanır. Bir resim etiketi bir resim dosyasına işaret ederken, bir bağlantı etiketi başka bir URL'ye işaret eder.
HTML'deki “HT” — hypertext — webi önceki sistemlerden farklı hissettiren büyük fikirdir. Menü, klasör veya özel komutlarla gezinmek yerine, metnin içinde gömülü tıklanabilir bağlantılarla bir belgeden diğerine doğrudan atlayabilirsiniz.
Bu değişim basit görünebilir, ama güçlüdür: bilgi bağlantılı hale gelir. Bir sayfa kaynaklara, ilgili konulara, tanımlara ve sonraki adımlara anında referans verebilir—her seferinde merkezi bir dizine dönmeye gerek kalmaz.
Aşağıda temel bir bağlantı örneği var:
<a href="/blog/how-http-works">Read more about HTTP</a>
Sade Türkçe: “Read more about HTTP yazısını göster ve tıklandığında okuyucuyu /blog/how-http-works sayfasına götür.”
HTML sadece belge yayımlamak için değildir. Aynı zamanda metin alanları, onay kutuları ve düğmeler gibi girdileri tanımlayabilir. Bu parçalar bir sayfanın bilgi toplamasını sağlar (giriş, arama veya ödeme gibi) ve sunucuya göndermeyi mümkün kılar.
Karıştırmak kolaydır ama işleri farklıdır:
Web uygulamaları daha karmaşık hale gelse de, HTML hâlâ başlangıç noktasıdır: sayfanın ne içerdiğini ve nereye bağlanabileceğini tanımlayan paylaşılan, okunabilir yol.
Bir siteyi ziyaret ettiğinizde tarayıcınız temelde iki iş yapar: doğru bilgisayarı bulmak ve doğru dosyayı istemek.
Bir URL (ör. https://example.com/page) sayfanın adresidir. Host adı (example.com) ve genellikle bir yol (/page) içerir.
İnternette bilgisayarlar sayısal adreslerle—IP adresleriyle—konuşur. DNS (Domain Name System), example.comu bir IP adresine çeviren bir telefon rehberi gibidir.
Bu sorgu genellikle hızlıdır—ve bazen yakın bir ziyaretten saklanan cevap kullanıldığı için atlanır.
Tarayıcı şimdi o IP adresindeki sunucuya bir bağlantı açar. URL https:// ile başlıyorsa, tarayıcı ayrıca başkalarının gönderilenleri kolayca okuyamaması için şifreli bir bağlantı kurar.
HTTP, webin “istek‑yanıt” dilidir. Tarayıcı şu tarz bir HTTP isteği gönderir: “Lütfen /page ver.”
Sunucu bir HTTP yanıtı ile durum ("Tamam" veya "Bulunamadı" gibi) ve içeriği gönderir.
Bu içerik genellikle HTMLdir. HTML, bir sayfanın yapısını—başlıklar, paragraflar, bağlantılar gibi—tanımlar.
Tarayıcı HTML'i okurken diğer dosyalara (CSS, JavaScript, resimler, fontlar) ihtiyaç duyabileceğini keşfeder ve her biri için aynı HTTP istek/yanıt döngüsünü tekrarlar.
Hız için tarayıcı bir cache tutar—önceden indirilmiş dosyaların kaydı. Hiçbir şey değişmemişse tarayıcı tekrar indirmek yerine o kopyayı kullanabilir.
Hızlı kontrol listesi (akış):
“Web” dediğimizde genellikle akıcı bir deneyim kast edilir: bir bağlantıya dokunursunuz ve bir sayfa belirir. Altında yatan basit ilişki üç fikir etrafında döner: sunucular, tarayıcılar ve kaynaklar.
Bir sunucu, internete bağlı ve URL’lerde kaynakları barındıran bir bilgisayardır (veya bilgisayar kümesi). Eğer bir URL adresse, sunucu o adreste ziyaretçi alan ve ne göndereceğine karar veren yerdir.
Sunucunun gönderdiği “şey” bir web sayfası, dosya veya veri olabilir. Önemli nokta: sunucu belirli URL'ler için yanıt verecek şekilde yapılandırılmıştır.
Bir tarayıcı (Chrome, Safari, Firefox gibi) sunuculardan kaynak çeken ve bunları insan‑dostu şekilde gösteren programdır.
Bir URL girdiğinizde veya bir bağlantıya tıkladığınızda tarayıcı:
Bir kaynak, Web'in tanımlayıp bir URL üzerinden teslim edebileceği her şeydir. Yaygın örnekler:
Bu model sadece tarayıcılarla sınırlı değildir. Bir mobil uygulama da genellikle bir URL (web API uç noktası) isteyip uygulamanın kendi arayüzünde görüntülemek için veri alabilir. Roller aynı kalır: uygulama “istemci”, sunucu “host”, API yanıtı ise kaynak.
Erken web sayfaları çoğunlukla bilgi gösterirdi. Formlar ise webi bilgi toplama yollarına açtı—sayfayı iki yönlü bir konuşmaya dönüştürdü.
Bir HTML formu alanlar (metin kutuları, onay kutuları, düğmeler) ve iki önemli talimat içerir:
action URL'si)method, genelde GET veya POST)"Gönder"e tıkladığınızda tarayıcı yazdıklarınızı paketler ve bu veriyi HTTP ile o URL'ye yollar. Bu, "alanlı bir belge" ile "girdi işleyen bir uygulama" arasındaki köprüdür.
Genel olarak:
Örneğin bir arama /search?q=shoes (GET) ile gösterilebilir; bir ödeme POST ile /checkout'a gönderilir.
Sunucu tarafında bir program HTTP isteğini alır, gönderilen değerleri okur ve ne yapılacağına karar verir:
Sunucu daha sonra genellikle yeni bir HTML sayfası ("Teşekkürler!"), bir hata mesajı veya başka bir URL'ye yönlendirme ile cevap verir.
Formda şifreler, adresler veya ödeme bilgileri gibi hassas veriler varsa HTTPS zorunludur. Bu, ağdaki üçüncü şahısların gönderilenleri okumasını veya değiştirmesini önler. HTTPS olmadan basit bir giriş formu bile kullanıcıları açığa çıkarabilir.
Modern “uygulamalar” sadece web sayfası değildir. Çoğu, HTML bir sayfanın JavaScript ve CSS yükleyip sonra ekranın bir bölümünü sürekli yeniden yüklemeden güncelleyen kodla birleşimidir.
Bir uygulama yerel program gibi hissettirse (sonsuz kaydırma beslemeleri, gerçek zamanlı güncellemeler, sürükle‑bırak), yine de Tim Berners‑Lee’nin tanıttığı üç yapı taşına dayanır.
URL sadece “bir sayfa” için değildir. Bir ürün, kullanıcı profili, arama sorgusu, fotoğraf veya "mesaj gönder" uç noktası gibi herhangi bir kaynağın adresidir. İyi uygulamalar içeriği paylaşılabilir, yer imlenebilir ve bağlanabilir kılmak için URL kullanır—Web’in temel davranışı budur.
Uygulamalar arka planda HTTP istekleri gönderir ve HTTP yanıtları alır; klasik web siteleriyle aynı kurallar geçerlidir:
Modern uygulamaların çoğu API ile konuşur: HTTP üzerinden veri (çoğunlukla JSON) döndüren URL’ler.
Örnekler:
HTML hâlâ önemlidir çünkü genelde başlangıç noktasıdır (ve bazen yedek). Daha geniş anlamda Web, entegrasyon platformudur: sistemler URL ve HTTP konusunda anlaşabiliyorsa, kim tarafından inşa edildiklerine bakılmaksızın bağlanabilirler.
Küçük bir şey inşa ederek bu yapı taşlarını görmek kolaydır—örneğin bir React ön yüzü ile JSON API konuşan ve önemli ekranlar için paylaşılabilir URL’ler olan bir proje. Tools like Koder.ai aynı modele dayanır: uygulamayı sohbetle tanımlarsınız ve standart bir web yığını (ön yüzde React, arka uçta Go + PostgreSQL) üretir; böylece gerçek URL’ler, HTTP uç noktaları ve tarayıcı ile sunulan HTML ile çalışırsınız—sadece el ile kurulum çok daha az.
Web, paylaşılan standartlar—farklı sistemlerin güvenilir şekilde iletişim kurmasını sağlayan kamusal “yol kuralları”—üzerine kuruludur. Bir şirketin tarayıcısı, başka biri tarafından çalıştırılan bir sunucudan sayfa isteyebilir; herhangi bir dilde yazılmış sunucu, herhangi bir yerde barındırılabilir; çünkü hepsi URL, HTTP ve HTML gibi temel konularda anlaşır.
Standartlar olmasaydı her siteyi görüntülemek için özel bir uygulama gerekirdi ve her ağ isteği göndermenin kendi yöntemi olurdu. Standardizasyon şu basit ama kritik soruları çözer:
Kurallar tutarlı olduğunda Web “karışık ve eşleştir” olur: uyumlu bir tarayıcı + uyumlu bir sunucu = çalışır.
Etkileyici olan, standartların iyileşebilmesi ama temel fikirlerin tanınabilir kalmasıdır. HTTP, HTTP/1.1’den HTTP/2 ve HTTP/3’e geçti; performans ve verimlilik gelişti ama temel fikir değişmedi: istemci bir URL ister, sunucu durum kodu, başlıklar ve bir gövde ile yanıt verir.
HTML de basit belgelerden daha zengin anlamsal yapı ve gömülü medyaya uzandı—ancak sayfalar ve hiperlinkler kavramı korunuyor.
Web’in kalıcılığının çoğu geriye dönük uyumluluğa yapılan güçlü tercihten gelir. Yeni tarayıcılar eski sayfaları render etmeye çalışır; yeni sunucular eski HTTP isteklerini anlamaya devam eder. Bu, içerik ve bağlantıların yıllarca—çoğu zaman on yıllarca—var olabilmesi demektir.
Sitenizin veya uygulamanızın uzun ömürlü olmasını istiyorsanız, standartlara dayalı tasarıma yönelin: paylaşılabilir durumlar için gerçek URL'ler kullanın, önbellekleme ve durum kodları için HTTP kurallarına uyun ve fazladan katmanlar eklemeden önce geçerli HTML yazın. Standartlar kısıtlayıcı değil—işinizi taşınabilir, güvenilir ve geleceğe uyumlu kılan şeydir.
Günlük olarak webi kullanıyor olsanız da, bazı terimler o kadar sık karıştırılıyor ki sorun çözmeyi, planlamayı veya basit bir konuşmayı bile kolayca çıkmaza sokabilir. İşte sık karşılaşılan karışıklıklar ve hızlı düzeltmeleri.
Yanılgı: İnternet ve World Wide Web aynı şeydir.
Hızlı düzeltme: İnternet küresel ağdır (kablolar, yönlendiriciler, bağlantılar). Web ise URL, HTTP ve HTML’den oluşan bir hizmettir.
Yanılgı: “Benim URL’im example.com.”
Hızlı düzeltme: example.com bir domaindir. Bir URL tam bir adres olup yol ve sorgu gibi parçaları içerebilir, örneğin:
https://example.com/pricinghttps://example.com/search?q=shoesBu ekstra parçalar sunucunun ne döndüreceğini değiştirebilir.
Yanılgı: HTML ve HTTP birbirinin yerine kullanılır.
Hızlı düzeltme: HTTP teslimat konuşmasıdır (istek ve yanıt). HTML ise teslim edilebilecek paketlerden biridir—genelde bir sayfayı ve bağlantılarını tanımlar. HTTP ayrıca JSON, resim, PDF veya video da iletebilir.
Yanılgı: Her hata “site kapalı” demektir ve yönlendirmeler hep kötüdür.
Hızlı düzeltme: Durum kodları sinyaldir:
Yanılgı: Her URL insan tarafından okunabilir bir sayfa açmalı.
Hızlı düzeltme: Bir URL veri (/api/orders), dosya (/report.pdf) veya form gönderimi için bir eylem uç noktası olabilir.
Yanılgı: HTTPS varsa site güvenilir ve dürüsttür.
Hızlı düzeltme: HTTPS bağlantıyı şifreler ve doğru domaine bağlandığınızı doğrulamaya yardımcı olur—ancak işletmenin güvenilir olduğunu garanti etmez. Kaynağı, içeriği ve bağlamı hâlâ değerlendirmeniz gerekir.
Tim Berners‑Lee’nin temel fikri şaşırtıcı derecede küçüktü: belgeleri (ve daha sonra uygulamaları) ortak bir adlandırma şeması, ortak bir istek yöntemi ve bunları görüntüleyip birbirine bağlayacak ortak bir format kullanarak birleştirmek.
URL adrestir. Ne istediğinizi ve nerede olduğunu söyler (ve genellikle nasıl erişileceğini).
HTTP konuşmadır. Tarayıcı ile sunucu arasındaki kurallardır (durum kodları, başlıklar, önbellekleme vb.).
HTML sayfa formatıdır. Tarayıcının okuyup görüntüleyebileceği bir yapıdır ve bağlantıların yer aldığı yerdir.
Web’i basitçe üç adımlı döngü olarak düşünün:
Bu döngüyü aklınızda tutunca modern detaylar (çerezler, API’ler, tek sayfa uygulamalar, CDN’ler) daha kolay anlaşılır: genelde adlandırma, isteme veya render etme üzerine yapılan iyileştirmelerdir.
Biraz daha derin ama aşırı teknik olmayan okumalar için:
Bu temelleri anlamak hemen fayda sağlar: web araçlarını daha iyi değerlendirebilir ("Bu URL ve standart HTTP’ye mi dayanıyor?"), geliştiricilerle daha etkili iletişim kurabilir ve kırık bağlantılar, önbellek sürprizleri veya “404 vs 500” gibi günlük sorunları daha iyi çözebilirsiniz.
The Internet küresel ağıdır (yönlendiriciler, kablolar, IP yönlendirmesi) ve bilgisayarları birbirine bağlar. The Web bunun üzerinde çalışan bir hizmettir: URL ile tanımlanan kaynaklar, HTTP ile aktarılan veriler ve genellikle HTML olarak görüntülenen içerikler.
Birçok şey Internet'i kullanır ama “Web” değildir; örneğin e‑posta, bazı çok oyunculu oyunlar ve birçok sohbet sistemi.
Bir URL, bir kaynağın tam adresi gibi düşünün. HTML sayfası, resim, PDF veya bir API uç noktası olabilir.
Tipik bir URL şu parçaları içerir:
Bir domain (örneğin example.com) sadece bir host adıdır. Bir URL ise yol, sorgu ve daha fazlasını içerebilen tam bir adrestir; bu ekstra parçalar alınacak yanıtı değiştirebilir.
Örneğin:
https://example.com/pricinghttps://example.com/search?q=shoesFragment ( # sonrası) tarayıcı tarafından işlenir; HTTP isteğiyle sunucuya gönderilmez.
Yaygın kullanım alanları:
#reviews)Sadece fragment değişirse genellikle tam sayfa yeniden yüklemesi tetiklenmez.
HTTP, bir istemci (tarayıcı/uygulama) ile bir sunucu arasındaki istek‑yanıt konuşmasının kurallarıdır.
Uygulamada:
GET, bir şeyi almak için kullanılır (okuma amaçlı). Örnek: bir sayfa yüklemek veya veri çekmek.
POST, veriyi göndermek ve işlenmesini istemek için kullanılır. Örnek: hesap oluşturma, yorum gönderme veya ödeme başlatma.
Pratik ipucu: bir eylem paylaşılabilir/yer imlenebilir olmalıysa (ör. arama), genelde GET; sunucuda durum değiştirecekse POST tercih edilir.
Durum kodları bir isteğin sonucunu özetler:
Sorun giderirken: genelde yanlış URL veya silinmiş sayfaya işaret eder; ise sunucu tarafında bir hata veya kesinti göstergesidir.
Tarayıcının bir sunucuya bağlanabilmesi için bir IP adresine ihtiyacı vardır. DNS (Domain Name System), example.com gibi insan tarafından okunabilir adları IP adreslerine çeviren sistemdir.
Bir site bazen “çözülmüyorsa”, DNS genellikle şüpheliler arasındadır—özellikle bir ağ/cihazda çalışıp diğerinde çalışmıyorsa.
Önbellekleme, tarayıcınızın daha önce indirdiği kaynakları kaydederek sonraki ziyaretleri hızlandırmasıdır.
Pratik etkiler:
Sunucular HTTP başlıklarıyla (önbellek ömrü, doğrulama gibi) önbellek davranışını büyük ölçüde kontrol eder.
HTTPS, trafiği şifreler ve doğru domaine bağlı olduğunuzu doğrulamaya yardımcı olur; bu, oturum açma bilgileri ve formlar gibi hassas verileri korur.
Ancak HTTPS, sitenin güvenilir veya dürüst olduğunu garanti etmez. Hâlâ değerlendirmeniz gerekir:
https) — nasıl erişileceğiexample.com) — hangi sunucu/products/shoes) — hangi kaynak?color=black) — ek parametreler#reviews) — sayfa içindeki konum (tarayıcı tarafı)