Modul URL

Modul URL Bawaan

Modul URL membagi alamat web menjadi beberapa bagian yang dapat dibaca.

Untuk memasukkan modul URL, gunakanlah metode require() :

var url = require('url');

Parse alamat dengan metode url.parse() , dan itu akan mengembalikan objek URL dengan setiap bagian dari alamat sebagai properti:

Contoh

Pisahkan alamat web menjadi beberapa bagian yang dapat dibaca:

var url = require('url');
var adr = 'http://localhost:8080/default.htm?year=2017&month=february';
var q = url.parse(adr, true);

console.log(q.host); //returns 'localhost:8080'
console.log(q.pathname); //returns '/default.htm'
console.log(q.search); //returns '?year=2017&month=february'

var qdata = q.query; //returns an object: { year: 2017, month: 'february' }
console.log(qdata.month); //returns 'february'

Server File

Sekarang kita tahu cara mengurai string kueri, dan di artikel sebelumnya kita belajar cara membuat Node.js berjalan sebagai server file. Mari kita gabungkan keduanya, dan sajikan file yang diminta oleh klien.

Buatlah dua file html dan simpan di folder yang sama dengan file node.js kamu.

summer.html

<!DOCTYPE html>
<html>
<body>
<h1>Summer</h1>
<p>I love the sun!</p>
</body>
</html>

winter.html

<!DOCTYPE html>
<html>
<body>
<h1>Winter</h1>
<p>I love the snow!</p>
</body>
</html>

Buatlah file Node.js yang membuka file yang diminta dan mengembalikan konten ke klien. Jika ada yang salah, maka akan error 404:

demo_fileserver.js:

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

http.createServer(function (req, res) {
  var q = url.parse(req.url, true);
  var filename = "." + q.pathname;
  fs.readFile(filename, function(err, data) {
    if (err) {
      res.writeHead(404, {'Content-Type': 'text/html'});
      return res.end("404 Not Found");
    } 
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(data);
    return res.end();
  });
}).listen(8080);

Ingatlah untuk memulai file:

Mulai demo_fileserver.js:

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

Jika kamu telah mengikuti langkah yang sama di komputer kamu, maka akan melihat dua hasil berbeda saat membuka dua alamat ini:

http: // localhost: 8080 / summer.html

Akan menghasilkan hasil ini:

Summer

I love the sun!

http: // localhost: 8080 / winter.html

Akan menghasilkan hasil ini:

Winter

I love the snow!