Sobes.tech
Junior — Middle

Explique a função principal e os princípios de funcionamento de um servidor HTTP implementado na linguagem Go

sobes.tech IA

Resposta da IA

O servidor HTTP em Go é projetado para lidar com solicitações HTTP entrantes e enviar respostas HTTP correspondentes aos clientes (navegadores, clientes API, etc.). O princípio básico de funcionamento é que o servidor escuta numa porta específica, recebe solicitações, processa-as com a ajuda de manipuladores (handlers) e devolve o resultado.

Em Go, o pacote net/http é usado para criar servidores HTTP. Os componentes principais são:

  • Handler — uma função ou objeto que implementa a interface http.Handler, responsável por processar a solicitação.
  • ListenAndServe — uma função que inicia o servidor e começa a escutar no endereço especificado.

Exemplo de um servidor HTTP simples em Go:

package main

import (
    "fmt"
    "net/http"
)

func helloHandler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Olá, mundo!")
}

func main() {
    http.HandleFunc("/", helloHandler) // Regista o manipulador para o caminho "/"
    http.ListenAndServe(":8080", nil)  // Inicia o servidor na porta 8080
}

Assim, o servidor HTTP em Go é fácil de implementar, eficiente e escala bem graças ao suporte integrado para concorrência através de goroutines.