Junior — Middle
Explica scopul principal și principiile de funcționare ale unui server HTTP implementat în limbajul Go
sobes.tech AI
Răspuns de la AI
Serverul HTTP în Go este conceput pentru a gestiona cererile HTTP intrante și pentru a trimite răspunsuri HTTP corespunzătoare către clienți (browsere, clienți API etc.). Principiul de bază este că serverul ascultă pe un port specific, primește cererile, le procesează cu ajutorul handler-urilor și returnează rezultatul.
În Go, pachetul net/http este utilizat pentru a crea servere HTTP. Componentele principale sunt:
- Handler — o funcție sau un obiect care implementează interfața
http.Handler, responsabil pentru procesarea cererii. - ListenAndServe — o funcție care pornește serverul și începe să asculte pe adresa specificată.
Exemplu de server HTTP simplu în Go:
package main
import (
"fmt"
"net/http"
)
func helloHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Salut, lume!")
}
func main() {
http.HandleFunc("/", helloHandler) // Înregistrăm handler-ul pentru calea "/"
http.ListenAndServe(":8080", nil) // Pornim serverul pe portul 8080
}
Astfel, serverul HTTP în Go este ușor de implementat, eficient și se scalează bine datorită suportului încorporat pentru concurență prin goroutines.