Buongiorno a tutti, in questo tutorial andiamo a vedere come scrivere in pochissime righe un web server utilizzando come linguaggio di programmazione Python.

Python è un linguaggio che consiglio a chiunque voglia approcciarsi al mondo della programmazione per via della sua sintassi human-friendly e per la sua versatilità (si può realmente fare di tutto con Python).

1. Cos’è un web server?

Come riporta Wikipedia, un web server è un’applicazione software che, in esecuzione su un server, è in grado di gestire le richieste di trasferimento di pagine web di un client, tipicamente un web browser. Su un server web risiedono dunque i siti web tramite hosting.

2. Via col codice

Iniziamo con il creare il file Python (con estensione.py), io per comodità l’ho nominato “http_server.py”.

All’interno della stessa cartella dove abbiamo creato il file dobbiamo creare una cartella che fungerà da root per il nostro web server. Io l’ho nominata “web_server_folder”. Alla fine avremo una struttura di questo tipo

Una volta fatto ciò possiamo passare ad aprire il file http_server.py ed incollare il seguente codice (i commenti spiegano cosa fa ogni singola riga)

# importazione delle librerie necessarie
import http.server
import socketserver
import os

# definizione di una costante col numero di porta
PORT = 8000
# definizione di una costante col nome della cartella root
ROOT_FOLDER = 'web_server_folder'

# settaggio della cartella root
web_dir = os.path.join(os.path.dirname(__file__), ROOT_FOLDER)
os.chdir(web_dir)

# istanziamento del server
Handler = http.server.SimpleHTTPRequestHandler
httpd = socketserver.TCPServer(("", PORT), Handler)
print("serving at port", PORT) # log di successo
# servizio attivo fino all'interruzione manuale del programma
httpd.serve_forever() 

3. Esecuzione e test del codice appena scritto

Possiamo lanciare il software appena scritto da terminale usando il comando

python <nome file> se siamo su windows
python3 <nome file> su Linux e MacOs

Se abbiamo fatto tutto correttamente avremmo una risposta del terminale di questo tipo

Se invece dovessimo ottenere qualche errore del tipo

no module named <nome del modulo>

Dovremo procedere con installare il package mancante con

pip install <nome del modulo> // su windows
pip3 install <nome del modulo> // su linux e MacOs

Per testare se il server funziona correttamente, creiamo una pagina index.html all’interno della cartella definita come root nel nostro codice. Dentro il file html scriviamo semplicemente

<h1>Web server funzionante !!! </h1>

Se tutto è andato a buon fine vedremo il seguente risultato a schermo andando col nostro browser su localhost:<porta specificata nel codice>, nel mio caso localhost:8000

Se hai riscontrato qualche problema nel tutorial lascia un commento qui sotto. Cercherò di rispondere nel più breve tempo possibile.

Ciao e alla prossima 🙂


0 commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *