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.