Junior — Middle
Explique la función principal y los principios de funcionamiento de un servidor HTTP implementado en el lenguaje Go
sobes.tech AI
Respuesta de la IA
El servidor HTTP en Go está diseñado para manejar solicitudes HTTP entrantes y enviar respuestas HTTP correspondientes a los clientes (navegadores, clientes API, etc.). El principio básico de funcionamiento es que el servidor escucha en un puerto determinado, recibe solicitudes, las procesa mediante manejadores (handlers) y devuelve el resultado.
En Go, se utiliza el paquete net/http para crear servidores HTTP. Los componentes principales son:
- Handler — una función u objeto que implementa la interfaz
http.Handler, responsable de procesar la solicitud. - ListenAndServe — una función que inicia el servidor y comienza a escuchar en la dirección especificada.
Ejemplo de un servidor HTTP simple en Go:
package main
import (
"fmt"
"net/http"
)
func helloHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "¡Hola, mundo!")
}
func main() {
http.HandleFunc("/", helloHandler) // Registramos el manejador para la ruta "/"
http.ListenAndServe(":8080", nil) // Iniciamos el servidor en el puerto 8080
}
De esta manera, el servidor HTTP en Go es fácil de implementar, eficiente y se escala bien gracias al soporte incorporado para la concurrencia mediante goroutines.