Junior — Middle
Објасните основну сврху и принципе рада HTTP сервера реализованог на језику Go
sobes.tech АИ
Одговор од АИ
HTTP сервер u Go jeziku je namenjen za obradu dolaznih HTTP zahteva i slanje odgovarajućih HTTP odgovora klijentima (pregledači, API klijenti itd.). Osnovni princip rada je da server sluša na određenom portu, prima zahteve, obrađuje ih pomoću handlera i vraća rezultat.
U Go-u, za kreiranje HTTP servera koristi se paket net/http. Glavne komponente su:
- Handler — funkcija ili objekat koji implementira interfejs
http.Handler, odgovoran za obradu zahteva. - ListenAndServe — funkcija koja pokreće server i počinje da sluša na navedenoj adresi.
Primer jednostavnog HTTP servera u Go-u:
package main
import (
"fmt"
"net/http"
)
func helloHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Zdravo, svet!")
}
func main() {
http.HandleFunc("/", helloHandler) // Registrujemo handler za putanju "/"
http.ListenAndServe(":8080", nil) // Pokrećemo server na portu 8080
}
Na ovaj način, HTTP server u Go-u je jednostavan za implementaciju, efikasan i dobro se skalira zahvaljujući ugrađenoj podršci za konkurentnost putem gorutina.