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