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