Node.js - Modul Web

Apa Itu Web Server?

Hai, para pemrogram yang sedang belajar! Hari ini, kita akan masuk ke dunia yang menarik dari web server. Bayangkan web server sebagai seorang perpustakaawan yang ramah dan selalu siap memberikan buku (atau dalam kasus kita, halaman web) yang kamu cari.

Node.js - Web Module

Web server adalah sebuah perangkat lunak yang merespon permintaan dari browser web. Ketika kamu mengetikkan URL di browser kamu, kamu sebenarnya meminta kepada web server untuk memberikanmu halaman web tertentu. Server kemudian mengambil halaman itu dan mengirimkannya kembali ke browser kamu.

mariuraikan ini dengan sebuah analogi sederhana:

  1. Kamu (pelanggan) masuk ke dalam perpustakaan (internet).
  2. Kamu meminta kepada perpustakaawan (web server) untuk sebuah buku tertentu (halaman web).
  3. Perpustakaawan mengambil buku dan memberikannya ke kamu.
  4. Kamu membaca buku (browser kamu menampilkan halaman web).

Mudah, kan? Sekarang, mari lihat bagaimana kita dapat membuat web server sendiri menggunakan Node.js!

Arsitektur Aplikasi Web

Sebelum kita mulai mengoding, mari mengerti arsitektur dasar sebuah aplikasi web. Itu seperti mengerti blueprint sebuah rumah sebelum membangunnya.

Sebuah aplikasi web biasa terdiri dari tiga komponen utama:

  1. Pelanggan: Biasanya adalah browser web (seperti Chrome atau Firefox) yang mengirimkan permintaan ke server.
  2. Server: Ini adalah tempat aplikasi Node.js kita berjalan. Itu menerima permintaan dari pelanggan dan mengirimkan tanggapan.
  3. Database: Ini adalah tempat kita menyimpan dan mengambil data. Kita tidak akan membahas database dalam panduan ini, tetapi baik untuk mengetahui mereka ada!

Ini adalah diagram sederhana untuk mengilustrasikan ini:

[Client] <---> [Server] <---> [Database]

Panah menunjukkan arus data antara komponen ini. Menarik, kan?

Membuat Web Server menggunakan Node

Sekarang, mari kita meraih tangan dan membuat web server sederhana menggunakan Node.js. Jangan khawatir jika kamu belum pernah mengoding sebelumnya – kita akan melalui ini langkah demi langkah!

Pertama, kita perlu menggunakan modul http bawaan Node. Modul ini memungkinkan kita membuat server yang dapat menangani permintaan HTTP.

const http = require('http');

const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello, World!');
});

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

mariuraikan ini:

  1. Kita require modul http, yang memberikan kita alat untuk membuat server.
  2. Kita gunakan http.createServer() untuk membuat server baru. Fungsi ini mengambil callback yang akan dieksekusi setiap kali permintaan dibuat ke server.
  3. Dalam callback, kita mengatur kode status ke 200 (yang berarti "OK"), mengatur jenis konten ke teks biasa, dan mengirimkan "Hello, World!" sebagai tanggapan.
  4. Akhirnya, kita memerintahkan server untuk mendengarkan permintaan di port 3000 di localhost.

Untuk menjalankan server ini, simpan kode ini dalam sebuah file (misalnya server.js), buka terminal, navigasikan ke direktori yang mengandung file, dan jalankan:

node server.js

Sekarang, jika kamu membuka browser dan pergi ke http://localhost:3000, kamu应该lihat "Hello, World!" Selamat, kamu baru saja membuat web server pertamamu!

Membuat Klien Web menggunakan Node

Sekarang kita memiliki server, mari kita membuat klien yang dapat mengirim permintaan kepadanya. Dalam dunia nyata, ini biasanya adalah browser web, tetapi kita dapat membuat klien sederhana menggunakan Node.js juga.

Ini adalah klien sederhana yang mengirim permintaan GET ke server kita:

const http = require('http');

const options = {
hostname: 'localhost',
port: 3000,
path: '/',
method: 'GET'
};

const req = http.request(options, (res) => {
console.log(`statusCode: ${res.statusCode}`);

res.on('data', (d) => {
process.stdout.write(d);
});
});

req.on('error', (error) => {
console.error(error);
});

req.end();

mariuraikan ini:

  1. Kita require modul http lagi.
  2. Kita mengatur opsi untuk permintaan kita, termasuk hostname, port, path, dan metode.
  3. Kita membuat permintaan menggunakan http.request(), memasukkan opsi kita dan callback.
  4. Dalam callback, kita mencatat kode status dan mengatur event listener untuk event 'data', yang akan mencatat setiap data yang diterima dari server.
  5. Kita juga mengatur penanganan kesalahan.
  6. Akhirnya, kita memanggil req.end() untuk mengirim permintaan.

Simpan ini dalam file client.js dan jalankan dengan node client.js. Kamu应该lihat kode status (200) dan pesan dari server ("Hello, World!") dicetak di terminal kamu.

Kesimpulan

Selamat! Kamu baru saja membuat web server dan klien pertamamu menggunakan Node.js. Ini hanya permulaan, tetapi itu adalah awal yang bagus. Dalam perjalananmu dalam pengembangan web, kamu akan belajar menangani jenis permintaan yang berbeda, melayani halaman HTML, bekerja dengan database, dan banyak lagi.

Ingat, setiap ahli pernah menjadi pemula. Teruslatihan, terus belajar, dan terutama, bersenang-senang! Dunia pengembangan web luas dan menarik, dan kamu baru saja mengambil langkah pertamamu ke dalamnya. Selamat coding!

Credits: Image by storyset