A small web server
Enough with the web clients: in this section, you will learn how to develop web servers in Go!
The Go code for the implementation of a naive web server can be found in webServer.go
, and this will be presented in four parts; the first part is the following:
package main import ( "fmt" "net/http" "os" )
The second part is where things start to get tricky and strange:
func myHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Serving: %s\n", r.URL.Path) fmt.Printf("Served: %s\n", r.Host) }
This is a kind of function that handles HTTP requests: the function takes two arguments, a http.ResponseWriter
variable and a pointer to an http.Request
variable. The first argument will be used for constructing the HTTP response, whereas the http.Request
variable holds the details of the HTTP request that was received by the server, including the requested URL and the IP address of the client.
The third part of webServer.go
has the following Go code:
func...