Junior — Middle
Spiega la funzione principale e i principi di funzionamento di un server HTTP implementato nel linguaggio Go
sobes.tech AI
Risposta dell'AI
Il server HTTP in Go è progettato per gestire le richieste HTTP in arrivo e inviare risposte HTTP appropriate ai clienti (browser, client API, ecc.). Il principio di funzionamento di base è che il server ascolta su una porta specifica, riceve le richieste, le elabora tramite handler e restituisce il risultato.
In Go, il pacchetto net/http viene utilizzato per creare server HTTP. I componenti principali sono:
- Handler — una funzione o un oggetto che implementa l'interfaccia
http.Handler, responsabile dell'elaborazione della richiesta. - ListenAndServe — una funzione che avvia il server e inizia ad ascoltare sull'indirizzo specificato.
Esempio di un semplice server HTTP in Go:
package main
import (
"fmt"
"net/http"
)
func helloHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Ciao, mondo!")
}
func main() {
http.HandleFunc("/", helloHandler) // Registriamo il gestore per il percorso "/"
http.ListenAndServe(":8080", nil) // Avviamo il server sulla porta 8080
}
In questo modo, il server HTTP in Go è facile da implementare, efficiente e si scala bene grazie al supporto integrato per la concorrenza tramite goroutine.