Junior — Middle
Vysvětlete hlavní účel a principy fungování HTTP serveru implementovaného v jazyce Go
sobes.tech AI
Odpověď od AI
HTTP server v jazyce Go je navržen tak, aby zpracovával příchozí HTTP požadavky a odesílal odpovídající HTTP odpovědi klientům (prohlížeče, API klienti atd.). Základní princip spočívá v tom, že server naslouchá na určitém portu, přijímá požadavky, zpracovává je pomocí handlerů a vrací výsledek.
V Go se pro tvorbu HTTP serverů používá balíček net/http. Hlavní komponenty jsou:
- Handler — funkce nebo objekt, který implementuje rozhraní
http.Handlera je zodpovědný za zpracování požadavku. - ListenAndServe — funkce, která spustí server a začne naslouchat na zadané adrese.
Příklad jednoduchého HTTP serveru v Go:
package main
import (
"fmt"
"net/http"
)
func helloHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Ahoj, světe!")
}
func main() {
http.HandleFunc("/", helloHandler) // Registrace handleru pro cestu "/"
http.ListenAndServe(":8080", nil) // Spuštění serveru na portu 8080
}
Tímto je HTTP server v Go snadno realizovatelný, efektivní a díky vestavěné podpoře konkurentnosti pomocí gorutin se dobře škáluje.