Servidores Web, Introducción

¿Cómo crear un servidor web con Go?

Go permite la creación de servidores web para servir paginas web, servicios (APIs) y archivos. Una de las grandes ventajas es la posibilidad de sacar provecho de la concurrencia para dicho propósito.

Para la creación de servidores con Go se utiliza la librería net/http que permite crear routers básicos.

Ejemplo de creación de un servidor web con Go

El siguiente ejemplo crea un servidor web que imprime un hola mundo.

package main

import (
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        w.Write([]byte("Hola Mundo"))
    })
    http.ListenAndServe(":8000", nil)
}

Descripción del ejemplo de creación de un servidor web con Go

En el anterior ejemplo utilizamos el paquete net/http para crear un servidor web.

Creamos una ruta mediante el método http.HandleFunc, este recibe 2 parámetros.

La ruta
En la cual el servidor web va a resolver.
Una función
Con el código asociado a esta ruta, esta función recibe dos parámetros, func(w http.ResponseWriter, r *http.Request).
  • http.ResponseWriter que consiste en la respuesta del server.
  • *http.Request que consiste en la petición del servidor.

Dentro de la función podemos responder utilizando el writer provisto por la función.

w.Write([]byte("Hola Mundo"))

Para arrancar el server en el puerto 8000, utilizamos.

http.ListenAndServe(":8000", nil)