驴Qu茅 son las cabeceras web?
Una operaci贸n com煤n es el uso de cabeceras HTTP, esta es informaci贸n enviada que le indica al navegador como debe interpretar los datos. En los ejemplos anteriores hemos utilizado las cabeceras predeterminadas, pero si quisi茅ramos por ejemplo enviar una respuesta en forma de un documento JSON, tendr铆amos que especificar dichas cabeceras.
w.Header().Set("Content-Type", "application/json; charset=utf-8")
En la l铆nea anterior hemos indicado que el objeto http.ResponseWriter ha declarado una cabecera en donde se define el tipo de contenido Content-Type de tipo appllication/json y cuya codificaci贸n es UTF-8 charset=utf-8.
Ejemplo del uso de cabeceras web en Go
package main
import "net/http"
func Home(w http.ResponseWriter, r *http.Request) {
if r.URL.Path != "/" {
http.NotFound(w, r)
return
}
w.Header().Set("Content-Type", "application/json; charset=utf-8")
w.Write([]byte(`{"mensaje":"Hola Mundo"}`))
}
func main() {
http.HandleFunc("/", Home)
http.ListenAndServe(":8000", nil)
}
Ahora podemos realizar una petici贸n nuevamente para comprobar que la respuesta es tipo json.
$ curl -is http://localhost:8000
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Sat, 20 Apr 2019 01:01:59 GMT
Content-Length: 24
{"mensaje":"Hola Mundo"}