Panduan Membuat Web Sederhana dengan Python

Server Py Request Response

Ilustrasi Proses Web Sederhana (Python sebagai Backend)

Membuat aplikasi web tidak harus selalu dimulai dengan kerangka kerja (framework) yang kompleks seperti Django atau Flask yang membutuhkan konfigurasi mendalam. Bagi pemula yang ingin memahami dasar-dasar cara kerja server dan HTTP, Python menawarkan cara yang sangat sederhana dan cepat untuk memulai. Dengan pustaka bawaan Python, Anda bisa membuat server web dasar hanya dengan beberapa baris kode.

Mengapa Memulai dengan Server Sederhana?

Sebelum terjun ke dunia framework yang kaya fitur, memahami konsep dasar routing, request (permintaan), dan response (tanggapan) sangat krusial. Python memfasilitasi ini dengan modul bawaannya, yaitu http.server. Modul ini memungkinkan Anda menjalankan server HTTP lokal yang dapat menyajikan file statis atau merespons permintaan sederhana langsung dari skrip Python.

Ini sangat berguna untuk pengujian cepat file HTML/CSS/JS lokal tanpa perlu menginstal server pihak ketiga seperti Apache atau Nginx. Ini adalah jembatan yang sempurna menuju pengembangan web yang lebih serius.

Langkah 1: Memahami `http.server`

Modul http.server di Python standar (sejak Python 3) adalah cara termudah untuk menyajikan konten dari direktori tempat Anda menjalankan skrip. Secara default, ia akan melayani semua file yang ada di direktori tersebut.

Menjalankan Server Statis Cepat

Jika Anda hanya perlu melihat file HTML/CSS/JS Anda di browser, buka Terminal atau Command Prompt, navigasikan ke folder proyek Anda, dan jalankan perintah berikut (asumsi Anda menggunakan Python 3):

python -m http.server 8000

Setelah perintah ini dieksekusi, server akan berjalan di port 8000. Anda cukup membuka browser dan menuju alamat:

http://localhost:8000

Browser Anda akan menampilkan daftar file dalam direktori tersebut. Jika Anda memiliki file bernama index.html, server akan otomatis menampilkannya sebagai halaman utama.

Langkah 2: Membuat Server Responsif dengan Kode Python

Untuk membuat server yang dapat merespons permintaan secara dinamis (misalnya, menangani permintaan GET yang berbeda), kita perlu mengimpor dan memodifikasi kelas BaseHTTPRequestHandler.

Berikut adalah contoh kode minimalis untuk membuat server yang merespons dengan teks "Halo Dunia!" pada setiap permintaan:

  1. Buat file bernama server_app.py.
  2. Masukkan kode berikut:
import http.server import socketserver PORT = 8080 class MyHandler(http.server.BaseHTTPRequestHandler): def do_GET(self): # Mengatur kode status respons self.send_response(200) # Mengatur header (tipe konten yang dikirim) self.send_header("Content-type", "text/html") self.end_headers() # Konten HTML yang akan dikirim html_content = """ Respons Sederhana Python

Halo Dunia dari Server Python!

Ini adalah respons HTTP dasar yang dibuat tanpa framework.

Anda mengakses path: {}