aligned chapter 3 from https://github.com/Jackgris/build-web-application-with-golang_ES
This commit is contained in:
65
es/03.2.md
Normal file
65
es/03.2.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# 3.2 Armando un servidor web sencillo
|
||||
|
||||
Hablamos de que las aplicaciones web se basan en el protocolo HTTP, y Go permite la plena capacidad para HTTP en el paquete `net/http`, es muy fácil instalar un servidor web mediante el uso de este paquete .
|
||||
|
||||
## Uso del paquete http para configurar un servidor web
|
||||
```
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strings"
|
||||
"log"
|
||||
)
|
||||
|
||||
func sayhelloName(w http.ResponseWriter, r *http.Request) {
|
||||
r.ParseForm() //analizar argumentos , tiene que llamar a esto por su cuenta
|
||||
fmt.Println(r.Form) //imprime información en el form en el lado del servidor
|
||||
fmt.Println("path", r.URL.Path)
|
||||
fmt.Println("scheme", r.URL.Scheme)
|
||||
fmt.Println(r.Form["url_long"])
|
||||
for k, v := range r.Form {
|
||||
fmt.Println("key:", k)
|
||||
fmt.Println("val:", strings.Join(v, ""))
|
||||
}
|
||||
fmt.Fprintf(w, "Hello astaxie!") // enviar datos al lado del cliente
|
||||
}
|
||||
|
||||
func main() {
|
||||
http.HandleFunc("/", sayhelloName) // define la ruta
|
||||
err := http.ListenAndServe(":9090", nil) // establece el puerto de escucha
|
||||
if err != nil {
|
||||
log.Fatal("ListenAndServe: ", err)
|
||||
}
|
||||
}
|
||||
```
|
||||
Después de ejecutar el código anterior, el host Local empieza a escuchar en el puerto 9090.
|
||||
|
||||
Abra su navegador y visite `http://localhost:9090`, se puede ver que `Hello astaxie` está en su pantalla .
|
||||
|
||||
Vamos a intentar otra dirección con argumentos : `http://localhost:9090/?url_long=111&url_long=222`
|
||||
|
||||
Ahora veamos lo que sucedió en los dos lados de cliente y servidor .
|
||||
|
||||
Usted debe ver la siguiente información en su lado del servidor :
|
||||
|
||||

|
||||
|
||||
Figura 3.8 Información del servidor por pantalla
|
||||
|
||||
Como se puede ver, sólo tenemos que llamar a dos funciones para crear un servidor web simple .
|
||||
|
||||
Si está trabajando con PHP, es probable que desee preguntar qué necesitamos algo como Nginx o Apache , la respuesta es que no necesitamos porque GO escucha el puerto TCP por sí mismo, y la `sayhelloName` función es la función lógica como controlador en PHP .
|
||||
|
||||
Si está trabajando con Python , usted debe saber tornado , y el ejemplo anterior es muy similar a eso.
|
||||
|
||||
Si está trabajando con Ruby, usted puede notar que es como script/server en ROR .
|
||||
|
||||
Utilizamos dos funciones simples para configurar un servidor web simple en esta sección, y este servidor sencillo ya ha tenido capacidad para alta concurrencia. Vamos a hablar acerca de cómo usar esta característica en dos secciones siguientes .
|
||||
|
||||
## Enlaces
|
||||
|
||||
- [Indice](preface.md)
|
||||
- Sección anterior: [Principios para el trabajo en la Web](03.1.md)
|
||||
- Siguiente sección: [Como trabaja Go con la web](03.3.md)
|
||||
Reference in New Issue
Block a user