Node.js memfasilitasi pembuatan server HTTP dengan menggunakan modul bawaan yang disebut http. Modul ini memungkinkan pengembang untuk membuat server web yang dapat menangani permintaan HTTP dan memberikan respons. Artikel ini akan membahas secara rinci Node.js HTTP module, cara membuat server, menanggapi permintaan, dan fitur-fitur penting lainnya.
Pengenalan Node.js HTTP Module
Node.js HTTP module menyediakan fungsi-fungsi yang memungkinkan pembuatan dan pengelolaan server HTTP. Dengan modul ini, Anda dapat membuat server yang dapat menerima permintaan HTTP, menanggapi permintaan tersebut, dan memberikan respons kepada klien.
Membuat Server HTTP
Untuk membuat server HTTP menggunakan Node.js, Anda perlu mengimpor modul http dan menggunakan metode createServer(). Contoh sederhana:
javascriptCopy code
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World!\n');
});
const port = 3000;
server.listen(port, () => {
console.log(`Server berjalan di http://localhost:${port}/`);
});
Menanggapi Permintaan
Metode createServer() menerima fungsi pengelola yang akan dijalankan setiap kali ada permintaan. Fungsi ini menerima dua parameter: req (objek permintaan) dan res (objek respons). Anda dapat mengakses informasi permintaan dan memberikan respons sesuai kebutuhan aplikasi Anda.
Fitur-Fitur Penting
1. Routing:
Anda dapat membuat routing sederhana berdasarkan path permintaan untuk mengarahkan permintaan ke penangan yang sesuai.
2. Headers:
Mengelola header HTTP untuk memberikan informasi tambahan atau mengatur tipe konten respons.
3. Handling POST Requests:
Memproses data yang dikirim melalui metode POST pada permintaan.
4. Static File Serving:
Menyajikan file statis seperti HTML, CSS, atau gambar.
5. Event Handling:
Memanfaatkan event untuk menanggapi berbagai kejadian, seperti saat server dimulai atau berhenti.
Contoh Penggunaan Lanjutan
Membuat Server API Sederhana:
javascriptCopy code
const http = require('http');
const server = http.createServer((req, res) => {
if (req.url === '/api/data') {
res.writeHead(200, {'Content-Type': 'application/json'});
res.end(JSON.stringify({ message: 'Data from API' }));
} else {
res.writeHead(404, {'Content-Type': 'text/plain'});
res.end('Not Found');
}
});
const port = 3000;
server.listen(port, () => {
console.log(`API Server berjalan di http://localhost:${port}/api/data`);
});
Kesimpulan
Node.js HTTP module adalah alat yang kuat untuk membuat server HTTP yang dapat diandalkan dan efisien. Dengan memahami dasar-dasarnya, Anda dapat membuat aplikasi web yang tangguh dan responsif. Eksplorasi lebih lanjut tentang fitur-fitur dan penggunaan lanjutan HTTP module untuk memaksimalkan potensi pengembangan server Anda.