Sobes.tech
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.Handler a 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.