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