Internet Nedir?

Bir web projesine baktığımızda kabaca üzerinde çalıştığı makine ve makinenin dışında kalan diğer dünya şeklinde bir ayrım yapabiliriz. Bu makine kendisine ulaşan bir HTTP isteğine bir HTTP cevabı vererek dışında kalan dünya ile iletişim kurar.

Bu iletişimin sağlanması için tüm dünya kablolarla donatılmıştır. Bu ağ haritasını görmek isterseniz göz atın: https://www.submarinecablemap.com/

HTTP ve Internet Protokolü

  1. Internet protokolünün temeli her bilgisayara bir IP verilmesi üzerine kuruludur.

  2. Bu adresler ülkelere ve ISS’lere göre bölünmüştür.

  3. Servis sağlayıcılar da internete giren her kullanıcısına bir IP atar.

  4. Bir adrese gitmek istediğinizde servis sağlayıcınız gitmek istediğiniz IP’ye göre sizi yönlendirir.

Bir IP’ye ulaşmak istediğimizde servis sağlayıcımız bu IP eğer ona ait bir IP ise bizi doğrudan yönlendirir, değilse de IP adresini inceleyerek bu IP’yi tanıyabilecek bir sonraki noktaya bizi yönlendirir. Bu trafiği izlemenin bir yolu traceroute komutudur.

traceroute phpwomen.org

Windows için

tracert phpwomen.org

Alan Adı Sistemi (DNS)

  1. Makineleri IP adreslerinden değil isimlerinden (domain) tanırız.

  2. Bunun için DNS (Domain Name System) protokolü kullanılır.

  3. Bu protokolü kullanabilmek için bir DNS sunucusunun IP adresini bilmeniz gerekir.

  4. Bir DNS istemcisi (işletim sistemi tarafından halledilir) ve bir DNS sunucusu (servis sağlayıcı tarafından verilir) ile gitmek istediğimiz adrese ulaşırız.

  5. Alan adları sağdan sola doğru çözümlenir.

  6. Tabi ki bu yoğun trafiği kolaylaştırmak için DNS sonuçları önbelleklenir.

Makine ve Firewall

Tüm bu yoğun trafikten sonra nihayet ulaşmak istediğimiz IP’ye ve bu IP adresine sahip makineye kadar ulaştık. Peki şimdi ne olacak? Öncelikle makinelerin kendilerine ulaşan her isteğe bir cevap vermek istemeyeceklerini unutmayalım. Bunun birkaç sebebi olabilir. Örneğin; makinede çalışan ve sadece yerelden ulaşılabilen uygulamalar olabilir, o yüzden bunları dışarıya erişime kapatmak istersiniz yada bazı IP adreslerinden gelen isteklere cevap vermek istemeyebilirsiniz. Bu koruma ve filtreleme işini bizler için firewall dediğimiz bir güvenlik sistemi yapar.

Firewall duvarını da aştıktan sonra isteğimiz ne ile karşılaşacak?

Port Nedir?

Makineler kendilerine gelen ve firewall aşamasını da geçen istekleri nasıl yönlendireceklerine isteğin port numarasına bakarak karar verir. Bir web projesinin çalıştığı makinede 20, 80 ve 443 gibi portların açık olduğunu farz ederiz. Bu portlar SSH, HTTP ve HTTPS servislerine denk gelir. Burada port numaralarını makinenin farklı kapılarının numaralarına, bu servisleri de bu kapıların önünde bekleyen bekçilere benzetebilirsiniz. Bu servisler dinledikleri port üzerinden gelen istekleri konfigüre edildikleri şekilde yönlendirirler.

Bu şekilde tek bir makine kullanarak makinemizi birden fazla iş görecek şekilde kullanabiliriz. E-posta sunucusu, DNS sunucusu yada web sunucusu.

Uygulamamız

Uzun yollardan geçerek nihayetinde uygulamamıza eriştik. Burada çalışan uygulamanın aslında bir dosya grubu olduğunu unutmayalım.

Uygulamamız kendisine gelen isteği yanıtlayarak nihayetinde internet tarayıcımızın yorumlayabileceği bir cevap üretir. Bu cevap HTML kodlarından oluşmuştur. HTML dili ilk bakışta anlaşılır değildir fakat web tarayıcınız bunu yorumlamakta ustadır. Eğitimimiz ile siz de uygulamanıza gelen isteklere nasıl cevap üretebileceğinizi göreceksiniz.

Haydi başlayalım!