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:
Bu sonucu üretecek:
/summer
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 .