wwwİlk olarak Web’ in nasıl çalıştığını anlamak için arka planda gerçekleşen bazı önemli süreçler var. Bunlar arasında DNS ve HTTP gibi temel protokoller yer alıyor.
Web’ in çalışma mantığından önce biraz Web’in ne olduğundan bahsedelim:
Web Nedir ?
İnternetin bir alt kümesi olan World Wide Web’in ortak adıdır. Dünya genelinde milyarlarca kullanıcının internete eriştiği, bilgi paylaşımı ve iletişim için kullanılan global bir platformdur. Temel olarak, web tarayıcıları üzerinden web sitelerine ulaşarak çeşitli bilgileri ve hizmetleri görüntüleyebiliriz.

Web teknolojilerinin temeli, sunucu (server) ve istemci (client) arasında gerçekleşen iletişim akışına dayanır. Bu iletişim akışı, HTTP tarafından düzenlenir. En genel haliyle sunucu, iletişim ağları kapsamında yayın yapan bir bilgisayar olarak tanımlanabilir. İstemci ise; Chrome, Edge, Firefox ve Safari gibi web tarayıcıları başta olmak bir sunucuya bağlanmak için kullanılabilen her türlü yazılımı (mobil, masaüstü) ve donanımı (IoT) ifade eder.
DNS (Domain Name System- Alan Adı Sistemi) Nedir ?
Her evin doğrudan posta göndermek için benzersiz bir ev adresi olduğu gibi, internetteki her bilgisayarın da kendisiyle iletişim kurmak için kendine özgü bir adresi vardır (IP adresi). Bu IP adresleri kullanıcıların kullanımı için “www.example.com” gibi kolay hatırlanır adreslere karşılık gelir. Aslında bizim ulaşmak istediğimiz sitenin IP adresini bilmemize gerek yok ama bizim için veri aktaran tarayıcıların bu IP adresine ihtiyacı var.
Domain Hierarchy


Top-Level Domain
Recursive DNS Sunucusu (Recursor): Recursive DNS sunucusu, kullanıcının istediği alan adının IP adresini kendisi bilmiyorsa, bunu başka DNS sunucularından öğrenmek için sorgu başlatır. Recursive sunucu, adrese ulaşana kadar diğer DNS sunucularına başvurur.
Root DNS Sunucusu: Recursive sunucu, ilk olarak root DNS sunucusuna başvurur. Root sunucusu, hangi TLD sunucusunun sorgulanacağını Recursive sunucuya söyler.
Yetkili (Authoritative) DNS Sunucusu: Recursive sunucu, root sunucusunun yönlendirmesi ile authoritative DNS sunucusuna ulaşır. Authoritative sunucu, sorgulanan alan adı (örneğin, “example.com”) için doğru IP adresini bilir ve bu bilgiyi Recursive sunucuya döner.
IP Adresinin Kullanıcıya İletilmesi: Recursive DNS sunucusu, authoritative sunucudan aldığı IP adresini kullanıcıya iletir. Kullanıcının bilgisayarı bu IP adresini kullanarak web sitesine bağlanır.


HTTP (Hypertext Transfer Protocol) Nedir ?
Web sayfası verilerini iletilebilmesi için web sunucularıyla iletişim kurmak amacıyla kullanılan bir protokoldür.
POST: Sunucuya yeni bir kaynak oluşturmak veya var olan bir kaynağı güncellemek için kullanılır. Örneğin, bir form göndermek veya bir dosya yüklemek POST metodu ile yapılır.
PUT: Var olan bir kaynağı tamamen değiştirmek için kullanılır. Genellikle tüm kaynağın içeriği gönderilir.
DELETE: Var olan bir kaynağı silmek için kullanılır.
PATCH: Var olan bir kaynağı kısmen güncellemek için kullanılır. Sadece değiştirilecek kısımlar gönderilir.
URL
URL’ler, web üzerindeki kaynaklara ulaşmak için kullandığımız adreslerdir.
— URL Bileşenleri —

Host: Erişmek istediğiniz sunucunun alan adı veya IP adresi.
Port: Bağlanacağınız Port, genellikle HTTP için 80 , HTTPS için 443'tür, ancak bu 1–65535 arasındaki herhangi bir portta barındırılabilir.
Path: Erişmeye çalıştığınız kaynağın dosya adı veya konumu.
Sorgu Dizesi: İstenen yola gönderilebilecek ek bilgi parçaları. Örneğin, /blog? id=1 blog yoluna 1 kimliğine sahip blog makalesini almak istediğinizi söyler.
Parça: Bu, sayfadaki belirli bir konuma yapılan bir başvurudur böylece kullanıcı sayfaya erişir erişmez görüntülenebilir. “#” ile başlar. Bu, genellikle uzun içerikli sayfalar için kullanılır
HTTP Durum Kodları

Web Nedir ?
İnternetin bir alt kümesi olan World Wide Web’in ortak adıdır. Dünya genelinde milyarlarca kullanıcının internete eriştiği, bilgi paylaşımı ve iletişim için kullanılan global bir platformdur. Temel olarak, web tarayıcıları üzerinden web sitelerine ulaşarak çeşitli bilgileri ve hizmetleri görüntüleyebiliriz.

Web teknolojilerinin temeli, sunucu (server) ve istemci (client) arasında gerçekleşen iletişim akışına dayanır. Bu iletişim akışı, HTTP tarafından düzenlenir. En genel haliyle sunucu, iletişim ağları kapsamında yayın yapan bir bilgisayar olarak tanımlanabilir. İstemci ise; Chrome, Edge, Firefox ve Safari gibi web tarayıcıları başta olmak bir sunucuya bağlanmak için kullanılabilen her türlü yazılımı (mobil, masaüstü) ve donanımı (IoT) ifade eder.
DNS (Domain Name System- Alan Adı Sistemi) Nedir ?
Her evin doğrudan posta göndermek için benzersiz bir ev adresi olduğu gibi, internetteki her bilgisayarın da kendisiyle iletişim kurmak için kendine özgü bir adresi vardır (IP adresi). Bu IP adresleri kullanıcıların kullanımı için “www.example.com” gibi kolay hatırlanır adreslere karşılık gelir. Aslında bizim ulaşmak istediğimiz sitenin IP adresini bilmemize gerek yok ama bizim için veri aktaran tarayıcıların bu IP adresine ihtiyacı var.
Domain Hierarchy
Root Domain
Root DomainRoot Domain, DNS sisteminin en üstünde bulunan sunuculardır, temel işlev görmektedir ve kritik bir rol oynamaktadır. Bir web adresi en alttaki domainden başlayarak roota gelecek şekilde düzenlenir. “www”dan sonra gelen .org, .edu, .net gibi ifadeleri içerir.

Top-Level Domain
Üst düzey domain (TLD), bir web sitesi adresinin noktadan sonra gelen son kısmıdır. Bazı iyi bilinen TLD’ler arasında .com, .org ve .net’in yanı sıra .tr ve .de gibi ülkeye özgü TLD’ler de bulunur. Üst düzey domaini, size web sitesi hakkında bilgi veren bir kelimenin sonundaki son ek olarak görebilirsiniz. TLD’ler internetteki web sitelerini sınıflandırmak ve düzenlemek için kullanılır. Ülkeye özgü alan adı uzantılarına ccTLD (Country code top-level domains) adı verilir. CcTLd olmayan çoğu alan adı uzantısına gTLD (genel üst düzey alan adları) adı verilir. gTLD’ler en popüler alan adı uzantısı türüdür ve aynı zamanda internet kullanıcılarının kaydolabileceği ilk uzantılardır.
3-Second-Level DomainSubdomain:
3-Second-Level DomainSubdomain:
Subdomain (alt alan adı) alan adınızın altında oluşturabildiğiniz fakat birincil alan adınızdan bağımsız şekilde de çalışabilen alan adıdır. Örneğin, birincil alan adınız “haber.com.tr, ise ”, Blogunuz “blog.haber.com.tr” alt alan adına sahip olabilir. Yani yeni bir sayfanın web sitenizin mevcut yapısı içinde çalışması için uğraşmak yerine, orijinal ana alan adınızı korurken size yeni bir web sitesi yaratma özgürlüğünü sunacak bir subdomain kullanabilirsiniz.
Bir DNS isteği yaptığınızda ne olur?


Kullanıcı Tarayıcısından DNS İsteği: Bir web sitesine erişmek istediğinde, kullanıcı (örneğin, tarayıcısına “www.example.com" yazan biri) DNS isteğini başlatır. Kullanıcı bilgisayarı bu isteği önce Recursive DNS Server’a (genellikle internet servis sağlayıcın tarafından sağlanan) gönderir.
Recursive DNS Sunucusu (Recursor): Recursive DNS sunucusu, kullanıcının istediği alan adının IP adresini kendisi bilmiyorsa, bunu başka DNS sunucularından öğrenmek için sorgu başlatır. Recursive sunucu, adrese ulaşana kadar diğer DNS sunucularına başvurur.
Root DNS Sunucusu: Recursive sunucu, ilk olarak root DNS sunucusuna başvurur. Root sunucusu, hangi TLD sunucusunun sorgulanacağını Recursive sunucuya söyler.
Yetkili (Authoritative) DNS Sunucusu: Recursive sunucu, root sunucusunun yönlendirmesi ile authoritative DNS sunucusuna ulaşır. Authoritative sunucu, sorgulanan alan adı (örneğin, “example.com”) için doğru IP adresini bilir ve bu bilgiyi Recursive sunucuya döner.
IP Adresinin Kullanıcıya İletilmesi: Recursive DNS sunucusu, authoritative sunucudan aldığı IP adresini kullanıcıya iletir. Kullanıcının bilgisayarı bu IP adresini kullanarak web sitesine bağlanır.

Yani kısaca bir web sitesine eriştiğinizde, tarayıcınız bir istek gönderir ve bu istek, DNS (Alan Adı Sistemi) yardımıyla web sunucusunun IP adresini bulur. DNS, alan adını IP adresine çevirir. Bu IP adresi sayesinde, tarayıcınız doğru sunucuya bağlanır ve sunucuyla iletişime geçerek sayfanın içeriğini talep eder. Web sunucusu da bu isteği işleyip yanıtlar ve tarayıcınıza geri gönderir. Sonuç olarak, tarayıcınızda istediğiniz web sitesi görüntülenir. Bu süreç saniyeler içinde gerçekleşir, böylece sayfa hızlıca yüklenir.

HTTP (Hypertext Transfer Protocol) Nedir ?
Web sayfası verilerini iletilebilmesi için web sunucularıyla iletişim kurmak amacıyla kullanılan bir protokoldür.
HTTPS (Hypertext Transfer Protocol Secure) Nedir ?
HTTP’nin güvenilir halidir. HTTPS verileri şifrelenir, bu nedenle yalnızca başkalarının aldığınız ve gönderdiğiniz verileri görmesini engellemekle kalmaz, aynı zamanda doğru web sunucusuyla konuştuğunuzdan ve onu taklit eden bir şeyle konuşmadığınızdan emin olmanızı sağlar.
HTTP’nin güvenilir halidir. HTTPS verileri şifrelenir, bu nedenle yalnızca başkalarının aldığınız ve gönderdiğiniz verileri görmesini engellemekle kalmaz, aynı zamanda doğru web sunucusuyla konuştuğunuzdan ve onu taklit eden bir şeyle konuşmadığınızdan emin olmanızı sağlar.
HTTP İstekleri
-Metotlar
-URL
-HTTP sürümü
-Başlıklar
-URL
-HTTP sürümü
-Başlıklar
HTTP Metotları
İstemci (tarayıcınız) bir sunucuya ( bir web sitesinin sunucusu) bir şeyler yapmasını istediğinde, HTTP metotları kullanır. Bu metotlar, sunucuya yapılacak işlemi belirtir.
Şimdi en yaygın kullanılan HTTP metotlarından kısaca bahsetmek istiyorum:
İstemci (tarayıcınız) bir sunucuya ( bir web sitesinin sunucusu) bir şeyler yapmasını istediğinde, HTTP metotları kullanır. Bu metotlar, sunucuya yapılacak işlemi belirtir.
Şimdi en yaygın kullanılan HTTP metotlarından kısaca bahsetmek istiyorum:
GET: Bir kaynak (web sayfası, resim, video vb.) istemek için kullanılır. Bu metot, sunucudan bilgi almak için kullanılır ve genellikle herhangi bir veri değiştirmez.
POST: Sunucuya yeni bir kaynak oluşturmak veya var olan bir kaynağı güncellemek için kullanılır. Örneğin, bir form göndermek veya bir dosya yüklemek POST metodu ile yapılır.
PUT: Var olan bir kaynağı tamamen değiştirmek için kullanılır. Genellikle tüm kaynağın içeriği gönderilir.
DELETE: Var olan bir kaynağı silmek için kullanılır.
PATCH: Var olan bir kaynağı kısmen güncellemek için kullanılır. Sadece değiştirilecek kısımlar gönderilir.
URLURL (Uniform Resource Locator)
URL’ler, web üzerindeki kaynaklara ulaşmak için kullandığımız adreslerdir.
— URL Bileşenleri —

Şema: HTTP, HTTPS, FTP (Dosya Aktarım Protokolü) gibi kaynaklara erişim için hangi protokolün kullanılacağını belirtir .
Kullanıcı: Bazı servisler giriş yapmak için kimlik doğrulaması gerektirir, giriş yapmak için URL’ye kullanıcı adı ve şifre girebilirsiniz.
Host: Erişmek istediğiniz sunucunun alan adı veya IP adresi.
Port: Bağlanacağınız Port, genellikle HTTP için 80 , HTTPS için 443'tür, ancak bu 1–65535 arasındaki herhangi bir portta barındırılabilir.
Path: Erişmeye çalıştığınız kaynağın dosya adı veya konumu.
Sorgu Dizesi: İstenen yola gönderilebilecek ek bilgi parçaları. Örneğin, /blog? id=1 blog yoluna 1 kimliğine sahip blog makalesini almak istediğinizi söyler.
Parça: Bu, sayfadaki belirli bir konuma yapılan bir başvurudur böylece kullanıcı sayfaya erişir erişmez görüntülenebilir. “#” ile başlar. Bu, genellikle uzun içerikli sayfalar için kullanılır
HTTP Durum Kodları

1xx (Bilgi): İstek alındı, işlem devam ediyor.
2xx (Başarılı): İstek başarıyla tamamlandı.
3xx (Yönlendirme): İstenilen kaynak başka bir yerde.
4xx (İstemci Hatası): İstemci tarafından yapılan bir hata.
5xx (Sunucu Hatası): Sunucu tarafından yapılan bir hata.
En sık karşılaşın durum kodları şunlardır:200- OK : İşlem başarıyla tamamlandı.
201- Created (Oluşturuldu) : Bir kaynak oluşturuldu (örneğin yeni bir kullanıcı veya yeni bir blog yazısı).
301 — Moved Permanently (Kalıcı Olarak Taşındı) : Bu, istemcinin tarayıcısını yeni bir web sayfasına yönlendirir veya arama motorlarına sayfanın başka bir yere taşındığını ve bunun yerine oraya bakmalarını söyler.
302 -Found (Bulundu ): Yalnızca geçici bir değişikliktir ve yakın gelecekte tekrar değişebilir.
400-Bad Request (Kötü İstek ): Tarayıcıya isteklerinde bir şeylerin yanlış veya eksik olduğunu söyler.
401 — Not Authorised (Yetkilendirilmemiş) : Web uygulamasıyla (genellikle kullanıcı adı ve parola ile) yetkilendirilene kadar bu kaynağı görüntülemenize izin verilmiyor.
403 — Forbidden (Yasak) : Giriş yapmış olsanız da olmasanız da bu kaynağı görüntüleme yetkiniz yok.
405 -Method Not Allowed (Yönteme İzin Verilmiyor) : Kaynak bu yöntem isteğine izin vermiyor, örneğin, POST isteği beklerken siz /create-account kaynağına bir GET isteği gönderiyorsunuz.
404-Page Not Found (Sayfa Bulunamadı) : İstediğiniz sayfa/kaynak bulunamadı.
500-Internal Service Error (Dahili Hizmet Hatası) : Sunucu, isteğinizle ilgili olarak nasıl düzgün bir şekilde işleneceğini bilmediği bir hatayla karşılaştı.
503 -Service Unavailable (Hizmet Kullanılamıyor ) : Bu sunucu aşırı yüklenmiş veya bakım nedeniyle isteğinizi karşılayamıyor.
2xx (Başarılı): İstek başarıyla tamamlandı.
3xx (Yönlendirme): İstenilen kaynak başka bir yerde.
4xx (İstemci Hatası): İstemci tarafından yapılan bir hata.
5xx (Sunucu Hatası): Sunucu tarafından yapılan bir hata.
En sık karşılaşın durum kodları şunlardır:200- OK : İşlem başarıyla tamamlandı.
201- Created (Oluşturuldu) : Bir kaynak oluşturuldu (örneğin yeni bir kullanıcı veya yeni bir blog yazısı).
301 — Moved Permanently (Kalıcı Olarak Taşındı) : Bu, istemcinin tarayıcısını yeni bir web sayfasına yönlendirir veya arama motorlarına sayfanın başka bir yere taşındığını ve bunun yerine oraya bakmalarını söyler.
302 -Found (Bulundu ): Yalnızca geçici bir değişikliktir ve yakın gelecekte tekrar değişebilir.
400-Bad Request (Kötü İstek ): Tarayıcıya isteklerinde bir şeylerin yanlış veya eksik olduğunu söyler.
401 — Not Authorised (Yetkilendirilmemiş) : Web uygulamasıyla (genellikle kullanıcı adı ve parola ile) yetkilendirilene kadar bu kaynağı görüntülemenize izin verilmiyor.
403 — Forbidden (Yasak) : Giriş yapmış olsanız da olmasanız da bu kaynağı görüntüleme yetkiniz yok.
405 -Method Not Allowed (Yönteme İzin Verilmiyor) : Kaynak bu yöntem isteğine izin vermiyor, örneğin, POST isteği beklerken siz /create-account kaynağına bir GET isteği gönderiyorsunuz.
404-Page Not Found (Sayfa Bulunamadı) : İstediğiniz sayfa/kaynak bulunamadı.
500-Internal Service Error (Dahili Hizmet Hatası) : Sunucu, isteğinizle ilgili olarak nasıl düzgün bir şekilde işleneceğini bilmediği bir hatayla karşılaştı.
503 -Service Unavailable (Hizmet Kullanılamıyor ) : Bu sunucu aşırı yüklenmiş veya bakım nedeniyle isteğinizi karşılayamıyor.
HTTP Çerezleri
Web sitelerinin kullanıcıların cihazına yerleştirdiği küçük metin dosyalarıdır. Bu dosyalar kullanıcının bu siteyi ziyaret edip etmediği bilgisini tutar.Kullanıcının site ayarlarını hatırlar. Bunun yanı sıra kullanıcıların oturumlarını açık tutarak, tekrar tekrar giriş yapmalarını engeller. Bu sayede web siteleri kullanıcıya daha kişiselleştirilmiş bir hizmet sunar.
Umarım ilginizi çeken faydalı bir yazı olmuştur .Başka yazılarımda görüşmek üzere 💫
Web sitelerinin kullanıcıların cihazına yerleştirdiği küçük metin dosyalarıdır. Bu dosyalar kullanıcının bu siteyi ziyaret edip etmediği bilgisini tutar.Kullanıcının site ayarlarını hatırlar. Bunun yanı sıra kullanıcıların oturumlarını açık tutarak, tekrar tekrar giriş yapmalarını engeller. Bu sayede web siteleri kullanıcıya daha kişiselleştirilmiş bir hizmet sunar.
Umarım ilginizi çeken faydalı bir yazı olmuştur .Başka yazılarımda görüşmek üzere 💫
Hiç yorum yok:
Yorum Gönder