Belajar Node.js Dasar #7: HTTP Module (Membuat Web Server Sederhana)


👍 0 ❤️ 1 💡 0 🔥 0 🙌 0 🥳 0
Belajar Node.js Dasar #7: HTTP Module (Membuat Web Server Sederhana)

Halo teman-teman semuanya, setelah mempelajari tentang Event Emitter di Node.js, sekarang kita akan masuk ke materi yang sangat menarik dan berguna, yaitu membuat web server sendiri menggunakan HTTP module bawaan dari Node.js.

Dengan HTTP module, kita bisa membangun server tanpa perlu menggunakan framework tambahan seperti Express. Ini cocok untuk memahami bagaimana cara kerja dasar server di Node.js.

Apa Itu HTTP Module?

http adalah salah satu core module Node.js yang memungkinkan kita untuk membuat server HTTP sendiri. Modul ini menyediakan fungsionalitas dasar seperti menerima request dan mengirim response.

Membuat Server Sederhana

Langsung saja, kita mulai dengan membuat file bernama server.js, lalu isi dengan kode berikut:

const http = require('http');

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.write('Halo, selamat datang di server Node.js!');
  res.end();
});

server.listen(3000, () => {
  console.log('Server berjalan di http://localhost:3000');
});

Penjelasan:

  • http.createServer() digunakan untuk membuat server.
  • Fungsi callback (req, res) akan dijalankan setiap kali ada request yang masuk.
  • res.writeHead() digunakan untuk mengatur status code dan tipe konten.
  • res.write() untuk menulis response.
  • res.end() digunakan untuk mengakhiri response.

Menjalankan Server

Setelah membuat file server.js, kita bisa menjalankan server-nya dengan perintah:

node server.js

Lalu buka browser dan akses http://localhost:3000. Kita akan melihat teks:

Halo, selamat datang di server Node.js!

Membaca File HTML sebagai Response

Kita juga bisa menggunakan modul fs untuk menampilkan konten dari file HTML.

Contoh:

const http = require('http');
const fs = require('fs');

const server = http.createServer((req, res) => {
  fs.readFile('./index.html', (err, data) => {
    if (err) {
      res.writeHead(500);
      res.end('Terjadi kesalahan saat membaca file');
      return;
    }

    res.writeHead(200, { 'Content-Type': 'text/html' });
    res.end(data);
  });
});

server.listen(3000, () => {
  console.log('Server berjalan di http://localhost:3000');
});

Pastikan kita sudah membuat file index.html di direktori yang sama dengan isi sederhana seperti ini:

<!DOCTYPE html>
<html>
<head>
  <title>Node.js Server</title>
</head>
<body>
  <h1>Halo dari Node.js!</h1>
</body>
</html>

Kesimpulan

Modul http adalah fondasi penting dalam membangun server di Node.js. Dengan memahaminya, kita bisa mengetahui bagaimana request diterima dan bagaimana response dikirim ke browser.

Di artikel selanjutnya, kita akan bahas lebih dalam tentang Routing Manul di Node.js, yaitu bagaimana menangani berbagai URL dan meresponse sesuai permintaan pengguna.

Terima Kasih


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami