Sobes.tech
Junior — Middle

Објасните основну сврху и принципе рада HTTP сервера реализованог на језику Go

sobes.tech АИ

Одговор од АИ

HTTP сервер u Go jeziku je namenjen za obradu dolaznih HTTP zahteva i slanje odgovarajućih HTTP odgovora klijentima (pregledači, API klijenti itd.). Osnovni princip rada je da server sluša na određenom portu, prima zahteve, obrađuje ih pomoću handlera i vraća rezultat.

U Go-u, za kreiranje HTTP servera koristi se paket net/http. Glavne komponente su:

  • Handler — funkcija ili objekat koji implementira interfejs http.Handler, odgovoran za obradu zahteva.
  • ListenAndServe — funkcija koja pokreće server i počinje da sluša na navedenoj adresi.

Primer jednostavnog HTTP servera u Go-u:

package main

import (
    "fmt"
    "net/http"
)

func helloHandler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Zdravo, svet!")
}

func main() {
    http.HandleFunc("/", helloHandler) // Registrujemo handler za putanju "/"
    http.ListenAndServe(":8080", nil)  // Pokrećemo server na portu 8080
}

Na ovaj način, HTTP server u Go-u je jednostavan za implementaciju, efikasan i dobro se skalira zahvaljujući ugrađenoj podršci za konkurentnost putem gorutina.