Node.js HTTP Modülü


Yerleşik HTTP Modülü

Node.js, Node.js'nin Hiper Metin Aktarım Protokolü (HTTP) üzerinden veri aktarmasına izin veren HTTP adlı yerleşik bir modüle sahiptir.

HTTP modülünü dahil etmek için şu require()yöntemi kullanın:

var http = require('http');

Web Sunucusu Olarak Node.js

HTTP modülü, sunucu bağlantı noktalarını dinleyen ve istemciye yanıt veren bir HTTP sunucusu oluşturabilir.

createServer()Bir HTTP sunucusu oluşturmak için yöntemi kullanın :

Örnek

var http = require('http');

//create a server object:
http.createServer(function (req, res) {
  res.write('Hello World!'); //write a response to the client
  res.end(); //end the response
}).listen(8080); //the server object listens on port 8080

Yönteme aktarılan işlev http.createServer() , birisi bilgisayara 8080 numaralı bağlantı noktasından erişmeye çalıştığında yürütülür.

Yukarıdaki kodu "demo_http.js" adlı bir dosyaya kaydedin ve dosyayı başlatın:

Demo_http.js'yi başlatın:

C:\Users\Your Name>node demo_http.js

Bilgisayarınızda aynı adımları izlediyseniz, örnekle aynı sonucu göreceksiniz: http://localhost:8080



HTTP Başlığı Ekle

HTTP sunucusundan gelen yanıtın HTML olarak görüntülenmesi gerekiyorsa, doğru içerik türüne sahip bir HTTP başlığı eklemelisiniz:

Örnek

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write('Hello World!');
  res.end();
}).listen(8080);

Yöntemin ilk argümanı res.writeHead()durum kodudur, 200 her şeyin yolunda olduğu anlamına gelir, ikinci argüman cevap başlıklarını içeren bir nesnedir.


Sorgu Dizesini Okuyun

İletilen işlev , istemciden gelen isteği bir nesne (http.IncomingMessage nesnesi) olarak temsil eden http.createServer() bir bağımsız değişkene sahiptir .req

Bu nesne, url'nin alan adından sonra gelen kısmını tutan "url" adında bir özelliğe sahiptir:

demo_http_url.js

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write(req.url);
  res.end();
}).listen(8080);

Yukarıdaki kodu "demo_http_url.js" adlı bir dosyaya kaydedin ve dosyayı başlatın:

demo_http_url.js'yi başlatın:

C:\Users\Your Name>node demo_http_url.js

Bilgisayarınızda aynı adımları izlediyseniz, bu iki adresi açarken iki farklı sonuç görmelisiniz:

http://localhost:8080/yaz

Bu sonucu üretecek:

/summer

http://localhost:8080/kış

Bu sonucu üretecek:

/winter

Sorgu Dizesini Böl

Sorgu dizesini URL modülü gibi okunabilir parçalara kolayca bölmek için yerleşik modüller vardır.

Örnek

Sorgu dizesini okunabilir parçalara ayırın:

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

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  var q = url.parse(req.url, true).query;
  var txt = q.year + " " + q.month;
  res.end(txt);
}).listen(8080);

Yukarıdaki kodu "demo_querystring.js" adlı bir dosyaya kaydedin ve dosyayı başlatın:

demo_querystring.js'yi başlatın:

C:\Users\Your Name>node demo_querystring.js

Adres:

Bu sonucu üretecek:

2017 July

Node.js URL Modülü bölümünde URL modülü hakkında daha fazla bilgi edinin .