Node.js - Modul Web

Apa Itu Server Web?

Hai, para pemula pemrograman! Hari ini, kita akan mendalaminya dunia menarik server web. Bayangkan server web seperti seorang petugas perpustakaan yang ramah dan selalu siap memberikan buku (atau dalam kasus kita, halaman web) yang Anda cari.

Node.js - Web Module

Sebuah server web adalah sebuah perangkat lunak yang merespon permintaan dari browser web. Ketika Anda mengetikkan URL ke dalam browser Anda, Anda secara esensial meminta server web untuk memberikan Anda halaman web tertentu. Server kemudian mengambil halaman itu dan mengirimkannya kembali ke browser Anda.

Marilah kita pecahkannya dengan analogi sederhana:

  1. Anda (client) masuk ke dalam perpustakaan (internet).
  2. Anda meminta petugas perpustakaan (server web) untuk buku tertentu (halaman web).
  3. Petugas perpustakaan mengambil buku dan memberikannya ke Anda.
  4. Anda membaca buku (browser Anda menampilkan halaman web).

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

Arsitektur Aplikasi Web

Sebelum kita mulai mengoding, mari kita pahami arsitektur dasar aplikasi web. Ini seperti memahami blueprint rumah sebelum membangunnya.

Sebuah aplikasi web biasa terdiri dari tiga komponen utama:

  1. Client: 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 client dan mengirimkan tanggapan.
  3. Database: ini tempat kita menyimpan dan mengambil data. Kita tidak akan membahas database dalam panduan ini, tapi baik Anda tahu mereka ada!

Berikut adalah diagram sederhana untuk mengilustrasikan ini:

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

Panah menunjukkan arah aliran data antara komponen ini. Menarik, kan?

Membuat Server Web menggunakan Node

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

Pertama, kita perlu menggunakan modul http yang ter内置 di Node. Modul ini memungkinkan kita untuk 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/');
});

Marilah kita pecahkannya:

  1. Kita require modul http, yang memberikan kita alat untuk membuat server.
  2. Kita gunakan http.createServer() untuk membuat server baru. Fungsi ini mengambil sebuah 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 Anda, navigasikan ke direktori yang mengandung file, dan jalankan:

node server.js

Sekarang, jika Anda membuka browser dan pergi ke http://localhost:3000, Anda seharusnya melihat "Hello, World!" Selamat, Anda baru saja membuat server web pertama Anda!

Membuat Client Web menggunakan Node

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

Berikut adalah client 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();

Marilah kita pecahkannya:

  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(), mengirimkan opsi kita dan sebuah callback.
  4. Dalam callback, kita mencatat kode status dan mengatur event listener untuk 'data' event, yang akan mencetak 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. Anda seharusnya melihat kode status (200) dan pesan dari server ("Hello, World!") dicetak di terminal Anda.

Kesimpulan

Selamat! Anda baru saja membuat server dan client web pertama Anda menggunakan Node.js. Ini hanya permulaannya, tapi itu adalah awal yang bagus. Dalam perjalanan Anda ke dunia pengembangan web, Anda akan belajar bagaimana menangani jenis permintaan yang berbeda, melayani halaman HTML, bekerja dengan database, dan banyak lagi.

Ingat, setiap ahli pernah menjadi pemula. Terus latih, terus belajar, dan terutama, bersenang-senang! Dunia pengembangan web luas dan menarik, dan Anda baru saja mengambil langkah pertama kepadanya. Selamat coding!

Credits: Image by storyset