Node.js'de HTTP Web Sunucusu Oluşturun: Tam Eğitici

İçindekiler:

Anonim

Node.js çerçevesi çoğunlukla sunucu tabanlı uygulamalar oluşturmak için kullanılır. Çerçeve, kullanıcılara içerik sunabilen web sunucuları oluşturmak için kolayca kullanılabilir.

Web sunucusu alanında sunucuyla ilgili isteklerin işlenmesine yardımcı olan "http" ve "istek" modülü gibi çeşitli modüller vardır. Node js kullanarak nasıl temel bir web sunucusu uygulaması oluşturabileceğimize bir göz atacağız.

HTTP kullanan bir web sunucusu olarak düğüm

İlk Node js uygulamamızı nasıl oluşturup çalıştıracağımızın bir örneğine bakalım.

Uygulamamız 7000 nolu portu dinleyecek basit bir sunucu modülü oluşturacaktır. Bu port no üzerinden tarayıcı üzerinden bir talep yapılırsa sunucu uygulaması istemciye 'Merhaba Dünya' cevabı gönderecektir.

Kod Açıklaması:

  1. Require işlevinin temel işlevi, bir JavaScript dosyasını okuması, dosyayı yürütmesi ve ardından dışa aktarım nesnesini döndürmeye devam etmesidir. Dolayısıyla bizim durumumuzda, http modülünün işlevselliğini kullanmak istediğimizden, uygulamamızda kullanılabilmesi için http modülünden istenen işlevleri elde etmek için gereksinim işlevini kullanıyoruz.
  2. Bu kod satırında, basit bir işleve dayalı bir sunucu uygulaması oluşturuyoruz. Bu işlev, sunucu uygulamamıza bir talep yapıldığında çağrılır.
  3. Bir talep alındığında, başlık tipi '200' olan bir yanıt göndermemizi söylüyoruz. Bu numara, istemciye başarılı bir yanıt gönderildiğinde bir http başlığında gönderilen normal yanıttır.
  4. Yanıtın kendisinde, 'Merhaba Dünya' dizesini gönderiyoruz.
  5. Daha sonra sunucu uygulamamızın 7000 numaralı bağlantı noktasındaki istemci isteklerini dinlemesi için server.listen işlevini kullanıyoruz. Herhangi bir kullanılabilir bağlantı noktasını buradan belirtebilirsiniz.

Komut başarıyla yürütülürse, kodunuzu tarayıcıda çalıştırdığınızda aşağıdaki Çıktı gösterilecektir.

Çıktı:

Çıktıdan

  • 7000 numaralı bağlantı noktasındaki localhost URL'sine göz atarsak, sayfada 'Merhaba Dünya' dizesini göreceğinizi açıkça görebilirsiniz.
  • Kodumuzda sunucunun 7000 numaralı bağlantı noktasını dinlemesi için özel olarak bahsettiğimiz için, bu url'ye göz atarken çıktıyı görüntüleyebiliyoruz.

İşte referans için kod

var http=require('http')var server=http.createServer((function(request,response){response.writeHead(200,{"Content-Type" : "text/plain"});response.end("Hello World\n");}));server.listen(7000);

Node.js'de GET İsteklerini İşleme

Node.js'de başka bir siteden veri almak için bir GET İsteği yapmak nispeten çok basittir. Düğümde bir Alma isteği yapmak için önce istek modülünü kurmamız gerekir. Bu, komut satırında aşağıdaki satırı çalıştırarak yapılabilir.

npm yükleme isteği

Yukarıdaki komut, Düğüm paketi yöneticisinden gerekli istek modüllerini indirmesini ve uygun şekilde kurmasını ister.

Npm modülünüz başarıyla kurulduğunda, komut satırı kurulu modül adını ve sürümünü gösterecektir: @ .

Yukarıdaki anlık görüntüde, 2.67.0 sürüm numarasıyla birlikte 'istek' modülünün indirilip yüklendiğini görebilirsiniz.

Şimdi bu 'istek' komutunu kullanabilecek kodu görelim.

Kod Açıklaması:

  1. Son adımda kurulan 'istek' modülünü kullanıyoruz. Bu modül, web sitelerine GET talepleri yapmak için kullanılabilecek gerekli fonksiyonlara sahiptir.
  2. Www.google.com'a bir GET İsteği gönderiyoruz ve ardından bir yanıt alındığında bir işlevi çağırıyoruz. Bir yanıt alındığında, parametreler (hata, yanıt ve gövde) aşağıdaki değerlere sahip olacaktır
    1. Hata - GET isteği kullanılırken alınan herhangi bir hata olması durumunda, buraya kaydedilecektir.
    2. Yanıt - Yanıt, yanıtta geri gönderilen http başlıklarına sahip olacaktır.
    3. Gövde- Gövde, Google tarafından gönderilen yanıtın tüm içeriğini içerecektir.
  3. Bunda sadece body parametresinde alınan içeriği console.log dosyasına yazıyoruz. Dolayısıyla, temel olarak, www.google.com adresine giderek ne elde edersek , console.log'a yazılacaktır.

İşte referans için kod

var request = require("request");request("http://www.google.com",function(error,response,body){console.log(body);});

Özet

  • Node.js çerçevesi, 'http' modülünü kullanarak web sunucuları geliştirmek için kullanılabilir. Uygulama, belirli bir bağlantı noktasında dinlenmesi ve uygulamaya her talepte bulunulduğunda istemciye bir yanıt göndermesi için yapılabilir.
  • Web sitelerinden bilgi almak için 'istek' modülü kullanılabilir. Bilgiler, ilgili web sitesinden istenen web sayfasının tüm içeriğini içerecektir.