Modul HTTP Node.js
Modul HTTP Bawaan
Node.js memiliki modul built-in yang disebut HTTP, yang memungkinkan Node.js untuk mentransfer data melalui Hyper Text Transfer Protocol (HTTP).
Untuk memasukkan modul HTTP, gunakan
require()
metode:
var http = require('http');
Node.js sebagai Server Web
Modul HTTP dapat membuat server HTTP yang mendengarkan port server dan memberikan respons kembali ke klien.
Gunakan createServer()
metode untuk membuat server HTTP:
Contoh
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
Fungsi yang diteruskan ke http.createServer()
metode, akan dijalankan ketika seseorang mencoba mengakses komputer pada port 8080.
Simpan kode di atas dalam file bernama "demo_http.js", dan mulai file:
Mulai demo_http.js:
C:\Users\Your Name>node demo_http.js
Jika Anda telah mengikuti langkah yang sama di komputer Anda, Anda akan melihat hasil yang sama seperti contoh: http://localhost:8080
Tambahkan Tajuk HTTP
Jika respons dari server HTTP seharusnya ditampilkan sebagai HTML, Anda harus menyertakan header HTTP dengan tipe konten yang benar:
Contoh
var http = require('http');
http.createServer(function
(req, res) {
res.writeHead(200,
{'Content-Type': 'text/html'});
res.write('Hello
World!');
res.end();
}).listen(8080);
Argumen pertama dari res.writeHead()
metode ini adalah kode status, 200 berarti semuanya baik-baik saja, argumen kedua adalah objek yang berisi header respons.
Baca String Kueri
Fungsi yang diteruskan ke http.createServer()
memiliki req
argumen yang mewakili permintaan dari klien, sebagai objek (objek http.IncomingMessage).
Objek ini memiliki properti yang disebut "url" yang menyimpan bagian url yang muncul setelah nama domain:
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);
Simpan kode di atas dalam file bernama "demo_http_url.js" dan mulai file:
Mulai demo_http_url.js:
C:\Users\Your Name>node demo_http_url.js
Jika Anda telah mengikuti langkah yang sama di komputer Anda, Anda akan melihat dua hasil berbeda saat membuka kedua alamat ini:
http://localhost:8080/musim panas
Akan menghasilkan hasil ini:
/summer
Akan menghasilkan hasil ini:
/winter
Pisahkan String Kueri
Ada modul bawaan untuk dengan mudah membagi string kueri menjadi bagian yang dapat dibaca, seperti modul URL.
Contoh
Pisahkan string kueri menjadi bagian yang dapat dibaca:
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);
Simpan kode di atas dalam file bernama "demo_querystring.js" dan mulai file:
Mulai demo_querystring.js:
C:\Users\Your Name>node demo_querystring.js
Alamat:
Akan menghasilkan hasil ini:
2017 July
Baca lebih lanjut tentang modul URL di bab Modul URL Node.js.