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.
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.
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.
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.
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:
server_app.py.
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: {}