Junior — Middle
Vysvetlite hlavnú funkciu a princípy fungovania HTTP servera implementovaného v jazyku Go
sobes.tech AI
Odpoveď od AI
HTTP server v jazyku Go je navrhnut tak, aby spracovával prichádzajúce HTTP požiadavky a odosielal príslušné HTTP odpovede klientom (prehliadače, API klienti atď.). Základný princíp spočíva v tom, že server počúva na určitej porte, prijíma požiadavky, spracováva ich pomocou handlerov a vracia výsledok.
V Go sa na vytváranie HTTP serverov používa balík net/http. Hlavné komponenty sú:
- Handler — funkcia alebo objekt, ktorý implementuje rozhranie
http.Handlera je zodpovedný za spracovanie požiadavky. - ListenAndServe — funkcia, ktorá spustí server a začne počúvať na zadanom adrese.
Príklad jednoduchého HTTP servera v Go:
package main
import (
"fmt"
"net/http"
)
func helloHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Ahoj, svet!")
}
func main() {
http.HandleFunc("/", helloHandler) // Registrujeme handler pre cestu "/"
http.ListenAndServe(":8080", nil) // Spúšťame server na porte 8080
}
Takto je HTTP server v Go ľahko realizovateľný, efektívny a dobre škálovateľný vďaka vstavanému podpore pre súbežnosť pomocou gorutín.