NodeJS Web Sunucusu Oluşturmak Nasıl Yapılır

NodeJS Web Sunucusu Oluşturmak için ilk olarak bilgisayarınıza NodeJS kurulu olması gerekiyor. Bu kurulumu henüz yapmadıysanız Mac OS X için bu kurulumun nasıl yapılacağını anlattığım yazımı belki okumak isteyebilirsiniz. Şimdi gelelim sunucu oluşturmak için yapmamız gerekenlere. Web sunucusu derken şunu kast ediyorum şimdilik çok basit bir web sayfası oluşturacağız içerisinde sadece 1 satır metin olacaktır. Bu metni bilgisayarımızda bulunan herhangi bir web tarayıcı ile okuyacağız.

NodeJS Web Sunucusu Oluşturmak Adımları

İlk olarak kodları yazacağımız bir Javascript dosyası oluşturmanız gerekmektedir. Bunu istediğiniz dosya adı ile istediğiniz klasörde yapabilirsiniz. Ben Masaüstünde oluşturduğum bir klasörde, test.js adında bir dosya oluşturdum ve bu dosyayı Visual Studio Code ile düzenleyeceğim.

Kodun içeriğine bir bakalım:

Javascript modüllerinden olan http modülünü httpModulu adında bir değişkene atadım. Bu değişkene ait daha doğrusu http modülüne ait createServer fonksiyonunu kullandım. Bu fonksiyon bilgisayarınızı localde bir Http sunucuya çevirir. Bu fonksiyonun içerisine yazacağımız fonksiyonu istemciler yapmış olduğu her istekte sunucumuz çalıştıracaktır.

Oluşturmuş olduğum fonksiyonda request (istek) ve response (cevap) bilgilerini rahatlıkla yakalayabilirim. Kullanıcıya yapmış olduğu istek sonrasında göndermek istediğiniz cevabu response.end fonksiyonu içerisine yazarak gönderebilirsiniz. Bu uygulamayı bilgisayarda tanımlı olan hangi portta yayınlayacağınızı da listen fonksiyonu içerisine parametre olarak verebilirsiniz.

Bu sunucuyu ayaklandırmak için yani kodu çalıştırmak için terminale node yazıyoruz ve ardından bu Javascript dosyasının adını veriyoruz. Bu komutu Javascript dosyasının bulunduğu klasörde yapmanız gerekmektedir.

NodeJS Web Sunucusu Oluşturmak Kodları:

var httpModulu = require('http')

moduleAdi.createServer(function(request,response){
    response.end('Merhaba, ben Ege !')
}).listen(8081)

Sunucuyu ayaklandırdıktan sonra localhost:8081 adresine girerek sunucunun cevabını görebilirsiniz.

Şimdi gelelim Ege olarak belirtmiş olduğum ismi parametreye bağlamaya. Yani sunucuya yapılan isteğe göre bir cevap döndürmeye. Bunu yaparken http request header bilgisini de kullanacağım. Query string olarak isim bilgisini de sunucudan istekte bulunurken gönderildiğini düşünüyorum. Eğer gönderilmedi ise bu bilginin bulunmadığını ekrana yazdıracağım ve yetkisiz giriş olduğunu dile getireceğim.

Yukarıdaki çıktıyı almak için kodu şu şekilde güncelledim:

var httpModulu = require('http')
var url = require('url');

httpModulu.createServer(function(request,response){
    var queryData = url.parse(request.url, true).query;
    if(queryData.isim){
        response.writeHead(200, {"Content-Type": "text/plain"});
        response.end('Merhaba, ben '+queryData.isim+' !')
    }
    else{
        response.writeHead(401, {"Content-Type": "text/plain"});
        response.end("Ad bilgisi girilmedi")
    }
}).listen(8081)

Son Yazılar

Apple Tarafından Beklenen Tablet 2023 iPad Ultra Geliyor mu?

2022 yılı içerisinde Apple yenilenen iPad modellerini karşımıza çıkarttı. Ancak hepimizin beklediği iPad modeli 2022… Daha fazla oku

12 saat önce

2 Yeni Dolandırıcılık Sistemi ve iCloud Kilidi Nedir ?

Günümüz şartlarında neredeyse her Apple ürünü iCloud Etkinleştirme kilidi özelliğine sahiptir. Bu kilit bir çok… Daha fazla oku

2 gün önce

iCloud Öncesi Kullanılan Şu Anda Unutulanlar Apple Servisleri

Apple sattığı cihazlardan para kazandığı kadar servisleri ile de para kazanan bir firma olmuştur. Son… Daha fazla oku

3 gün önce

Elmadan Haberler 3 – iPhone SE 4 İptal Edildi – Üretim Vietnam’da

Elmadan haberler 3 içerisindeki gündem şu şekildedir: Apple TV Android Akıllı Cep Telefonu ve Tabletlere… Daha fazla oku

4 gün önce

iPhone Güncelleme Sonrası Pil Sağlığı Neden Düşer ?

iPhone Güncelleme sonrası pil sağlığı neden düşer son derece fazla aldığım diğer bir sorudur. Bu… Daha fazla oku

1 hafta önce

iPhone iOS 16.2 İpuçları – Programsız Video İndirme ve Dahası

Bilinçli iPhone Kullanıcısı video serisi kapsamında iPhone iOS 16.2 ipuçları bu yazıda ele alacağım bir… Daha fazla oku

1 hafta önce

Bu web site kullanıcı deneyimini arttırmak amacı ile çerezleri kullanmaktadır