Tutorial Node.js #6 : Menggunakan Modul URL untuk Membuat Webserver Statis

Dalam pengembangan web, kita tidak akan bisa terlepas dari URL. URL (Uniform Resource Locator) adalah alamat web yang mengarah ke website, halaman web atau dokumen tertentu di internet. Alamat ini memungkinkan kita mengakses informasi dari komputer atau lokasi online, seperti web server atau penyimpanan cloud.

Berikut ini contoh URL :

Sebuah URL terdiri dari protokol, domain, path name, parameter, dan lain-lain. Kita mengurai (parsing) URL ini di dalam program.

 

 

Parsing URL di Nodejs

Nodejs memiliki modul bernama url yang fungsinya untuk mengurai URL menjadi bagian-bagian yang bisa kita gunakan dalam program.

Modul url sudah ada di dalam Nodejs, jadi kita tidak perlu menginstalnya melalui NPM (Node Package Manager). Untuk dapat menggunakan modul url, kita harus mengimpornya dengan fungsi require().

var url = require('url');

Untuk percobaan, sekarang kita buat file javascript bernama parse_url.js dan isi dengan kode berikut ini :

var url = require('url');
var adr = 'https://www.agussuratna.net/search.php?tahun=2023&month=july';
var q = url.parse(adr, true);

//hasil parse URL
console.log("protocol: " + q.protocol);
console.log("hostname: " + q.host);
console.log("pathname: " + q.pathname);
console.log("params: " + q.search);

// ambil query string sebagai objek
var qdata = q.query; 

console.log(qdata);

Setelah itu kita coba eksekusi dan hasilnya seperti berikut :

Pada program di atas, kita menggunakan fungsi url.parse() untuk mengurai URL. Fungsi url.parse() memiliki dua paramter :

  1. String URL yang akan di-parse
  2. Boolean yang untuk parse parameter/query string. Parameter ini bersifat opsional atau boleh tidak diisi. Jika diisi true, maka parameter/query string akan di-parse menjadi objek.

Setelah diurai (parse) kita tampilkan hasil parse-nya :

//hasil parse URL
console.log("protocol: " + q.protocol);
console.log("hostname: " + q.host);
console.log("pathname: " + q.pathname);
console.log("params: " + q.search);

 

 

Membuat Webserver Statis

Setelah mengetahui fungsi dan manfaat dari modul url, sekarang kita coba membuat sebuah webserver statis. Webserver ini akan melayani permintaan (HTTP Request), lalu meresponnya dengan file statis. Kita akan menggunakan modul File System untuk membaca file statis.

Baca Juga  Tutorial ReactJS #4 : Memahami Sintaks Dasar JSX

Untuk membuatnya, buat file baru bernama static_server.js, lalu isi dengan kode berikut :

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;

    // baca file
    fs.readFile(filename, function(err, data) {
        if (err) { 
            // kirim balasan error
            res.writeHead(404, {'Content-Type': 'text/html'});
            return res.end("404 Not Found");
        }

        // kirim balasan dengan isi file statis
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.write(data);
        return res.end();
    });

}).listen(8000);

console.log('server is running on http://localhost:8000');

Berikutnya buat tiga file index.html, about.html, dan contact.html.

Isi file index.html :

<!DOCTYPE html>
<html>
    <head>
        <title>Tutorial Nodejs</title>
    </head>

    <body>
        <h1>Selamat datang di Tutorial Nodejs agussuratna.net</h1>
        <p>Hai, sekarang kita sedang belajar tentang modul URL</p>
    </body>
</html>

 

Isi file about.html :

<!DOCTYPE html>
<html>
    <head>
        <title>Tentang agussuratna.net</title>
    </head>

    <body>
        <h1>Tentang agussuratna.net</h1>
        <p>agussuratna.net merupakan sebuah blog yang membahas tentang media pembelajaran</p>
    </body>
</html>

 

Isi file contact.html :

<!DOCTYPE html>
<html>
    <head>
        <title>Contact agussuratna.net</title>
    </head>

    <body>
        <h1>Hubungi Kami</h1>
        <p>Anda dapat menghubungi kami melalui email: <code>admin@agussuratna.net</code></p>
    </body>
</html>

Hasilnya :

Pada tutorial ini kita sudah belajar tentang modul url pada Nodejs. Modul ini akan banyak kita gunakan dalam pengembangan web, misalnya untuk mengambil data dari query string atau parameter. Selanjutnya kita akan mempelajari tentang cara mengambil data dari form.

Selamat mencoba, jika ada pertanyaan silahkan tuliskan di kolom komentar, terima kasih dan semoga bermanfaat.

 

 

Referensi :

  • https://www.petanikode.com/nodejs-url/

Related Post

1 Trackback / Pingback

  1. Tutorial Node.js #7 : Cara Mengambil Data dari Form - agussuratna.net

Leave a Reply

Your email address will not be published.


*


error: Ga bisa dicopy