Junior — Middle
Magyarázza el a Go nyelven megvalósított HTTP-szerver fő célját és működési elveit
sobes.tech MI
Válasz az MI-től
A Go nyelvű HTTP szerver arra szolgál, hogy fogadja a bejövő HTTP kéréseket, és megfelelő HTTP válaszokat küldjön a klienseknek (böngészők, API-kliensek stb.). Az alapvető működési elv az, hogy a szerver egy adott porton hallgat, fogadja a kéréseket, feldolgozza azokat handler-ek segítségével, és visszaküldi az eredményt.
Go-ban az net/http csomagot használjuk HTTP szerverek létrehozására. A fő komponensek:
- Handler — egy függvény vagy objektum, amely megvalósítja az
http.Handlerinterfészt, és felelős a kérés feldolgozásáért. - ListenAndServe — egy függvény, amely elindítja a szervert és elkezdi hallgatni a megadott címen.
Egyszerű Go HTTP szerver példája:
package main
import (
"fmt"
"net/http"
)
func helloHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Helló, világ!")
}
func main() {
http.HandleFunc("/", helloHandler) // Handler regisztrálása a "/" útvonalhoz
http.ListenAndServe(":8080", nil) // Szerver indítása a 8080-as porton
}
Így a Go nyelvű HTTP szerver könnyen megvalósítható, hatékony, és a goroutine-ok által támogatott beépített konkurencia-kezelés révén jól skálázható.