Node.js'in HTTP modülüne geçmeden önce, web'in nasıl çalıştığını anlamak önemlidir. Web tarayıcınızda bir URL yazdığınızda neler olduğunu basitçe açıklayalım.
İnternete bağlı bilgisayarlar "istemciler" ve "sunucular" olarak adlandırılır. İstemciler, bilgisayarlar ya da mobil telefonlar gibi internete bağlı cihazlardır ve bu cihazlarda bulunan web erişim yazılımları (örneğin bir web tarayıcı) ile web sitelerine erişirler. Sunucular ise, web sayfalarını, siteleri veya uygulamaları depolayan bilgisayarlardır.
Bir URL yazdığınızda, istemci cihaz, web sayfasına erişim talep eder. Web sayfasının bir kopyası sunucudan indirilir ve istemciye, web tarayıcısında görüntülenecek şekilde yanıt olarak gönderilir. Bu model popüler olarak "istemci-sunucu modeli" olarak adlandırılır.
İstemci ve sunucu arasındaki veri transferi, hangi formatta yapılır? Eğer istemcinin gönderdiği istek sunucu tarafından anlaşılmazsa ya da sunucunun gönderdiği yanıt istemci tarafından anlaşılmazsa ne olur? İşte burada HTTP devreye girer. HTTP, "Hypertext Transfer Protocol" (Hipermetin Transfer Protokolü) anlamına gelir ve istemcilerle sunucuların birbirleriyle nasıl konuşacaklarını tanımlayan bir protokoldür. İstemci bir HTTP isteği gönderir ve sunucu bir HTTP yanıtı ile cevap verir. İşte web, yüksek seviyede bu şekilde çalışır.
Peki, Node.js bu durumda nerede yer alıyor? Node.js, işletim sistemi işlevselliğine, örneğin ağ bağlantısına erişebilir ve asenkron görevleri çalıştıran bir olay döngüsüne sahip olduğu için, büyük hacimli istekleri aynı anda işleyebilen web sunucuları oluşturmak için mükemmeldir. Elbette, oluşturduğumuz Node sunucusu da HTTP formatına uymak zorundadır ve bunun için dahili HTTP modülünü kullanırız.
HTTP modülü, HTTP üzerinden veri transferi yapabilen web sunucuları oluşturmayı sağlar. Ve muhtemelen merakla beklediğiniz şey, Node.js kullanarak bir sunucu nasıl oluşturulur sorusudur. Bir sonraki videoda bu kodları inceleyeceğiz.
Bu makalede öğrendiklerimiz:
İstemci-sunucu modeli ve web tarayıcılarındaki URL'lerin nasıl işlendiği.
İstemci ve sunucu arasındaki veri transferinin HTTP protokolü üzerinden nasıl gerçekleştiği.
Node.js'in, HTTP protokolünü kullanarak nasıl etkili bir şekilde web sunucuları oluşturabileceği.
HTTP modülünün, Node.js içinde nasıl kullanıldığı ve web sunucuları oluşturmanın temelleri.