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 reqargumen 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

http://localhost:8080/winter

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.