Web Server #
Pengertian #
Web server di Python adalah aplikasi yang melayani konten web (seperti halaman HTML, gambar, dan data API) kepada klien (seperti browser web) melalui protokol HTTP/HTTPS. Python memiliki beberapa pustaka dan framework yang memudahkan pembuatan web server, termasuk http.server
, Flask, Django, dan FastAPI. Berikut adalah penjelasan dan contoh penggunaan beberapa dari pustaka tersebut:
http.server
#
Modul http.server
adalah pustaka bawaan Python yang menyediakan cara sederhana untuk membuat web server dasar.
Contoh Penggunaan http.server
#
import http.server
import socketserver
PORT = 8000
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", PORT), Handler) as httpd:
print(f"Serving at port {PORT}")
httpd.serve_forever()
Penjelasan:
http.server.SimpleHTTPRequestHandler
adalah handler yang melayani file dari direktori saat ini.socketserver.TCPServer
membuat server yang mendengarkan pada port 8000.httpd.serve_forever()
menjalankan server dan menunggu permintaan masuk.
Flask #
Flask adalah microframework populer untuk membangun aplikasi web di Python. Flask menawarkan fleksibilitas dan kesederhanaan.
Instalasi Flask #
pip install flask
Contoh Penggunaan Flask #
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(port=5000)
Penjelasan:
Flask(__name__)
membuat instance aplikasi Flask.@app.route('/')
mendefinisikan route untuk URL root (/
).app.run(port=5000)
menjalankan server pada port 5000.
Django #
Django adalah framework web tingkat tinggi yang mendorong pengembangan cepat dan desain bersih dan pragmatis.
Instalasi Django #
pip install django
Membuat Proyek Django #
django-admin startproject myproject
cd myproject
python manage.py runserver
Penjelasan:
django-admin startproject myproject
membuat proyek Django baru.python manage.py runserver
menjalankan server pengembangan Django pada port 8000.
FastAPI #
FastAPI adalah framework modern dan cepat untuk membangun API dengan Python 3.6+ berdasarkan tipe anotasi.
Instalasi FastAPI dan uvicorn
#
pip install fastapi uvicorn
Contoh Penggunaan FastAPI #
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=8000)
Penjelasan:
FastAPI()
membuat instance aplikasi FastAPI.@app.get("/")
mendefinisikan endpoint GET untuk URL root (/
).uvicorn.run(app, host="127.0.0.1", port=8000)
menjalankan server menggunakan Uvicorn.
Kesimpulan #
Python menyediakan berbagai opsi untuk membangun web server, mulai dari server dasar menggunakan modul bawaan http.server
hingga framework lengkap seperti Django dan FastAPI. Pilihan framework atau pustaka tergantung pada kebutuhan proyek Anda. Flask dan FastAPI cocok untuk aplikasi ringan dan API, sementara Django lebih cocok untuk aplikasi web yang kompleks dengan banyak fitur bawaan.