Sobes.tech
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.