Junior — Middle
Wyjaśnij główne przeznaczenie i zasady działania serwera HTTP zaimplementowanego w języku Go
sobes.tech AI
Odpowiedź od AI
Serwer HTTP w Go jest zaprojektowany do obsługi przychodzących żądań HTTP i wysyłania odpowiednich odpowiedzi HTTP do klientów (przeglądarki, klienci API itp.). Podstawowa zasada działania polega na tym, że serwer nasłuchuje na określonym porcie, odbiera żądania, przetwarza je za pomocą obsługiwaczy (handlers) i zwraca wynik.
W Go do tworzenia serwerów HTTP używa się pakietu net/http. Główne komponenty to:
- Handler — funkcja lub obiekt implementujący interfejs
http.Handler, odpowiedzialny za obsługę żądania. - ListenAndServe — funkcja, która uruchamia serwer i zaczyna nasłuchiwać na wskazanym adresie.
Przykład prostego serwera HTTP w Go:
package main
import (
"fmt"
"net/http"
)
func helloHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Witaj, świecie!")
}
func main() {
http.HandleFunc("/", helloHandler) // Rejestrujemy obsługiwacz dla ścieżki "/"
http.ListenAndServe(":8080", nil) // Uruchamiamy serwer na porcie 8080
}
W ten sposób, serwer HTTP w Go jest prosty do wdrożenia, wydajny i dobrze skalowalny dzięki wbudowanemu wsparciu dla współbieżności za pomocą gorutyn.