Go创建简单web服务
创建一个基于 HTTP 协议的 Web 服务
构建一个最简单的 HTTP 服务,当收到一个 HTTP 请求后,给请求方返回包含“hello, world”数据的响应。
main.go
package main
import "net/http"
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request){
w.Write([]byte("hello, world"))
})
http.ListenAndServe(":8080", nil)
}
func(w http.ResponseWriter, r *http.Request)
,第二个参数 r 代表来自客户端的 HTTP 请求,第一个参数 w 则是用来操作返回给客户端的应答的。
http 包提供的 ListenAndServe
函数,建立起一个 HTTP 服务,这个服务监听本地的 8080 端口。客户端通过这个端口与服务建立连接,发送 HTTP 请求就可以得到相应的响应结果。
访问http://localhost:8080/,进行验证
在这个例子中,所有来自客户端的请求,无论请求的 URI 路径(RequestURI)是什么(比如http://localhost:8080/dsdfaf),请求都会被设置的处理函数处理。为什么会这样呢?
通过 http.HandleFunc 设置这个处理函数时,传入的模式字符串为“/”。HTTP 服务器在收到请求后,会将请求中的 URI 路径与设置的模式字符串进行最长前缀匹配,并执行匹配到的模式字符串所对应的处理函数。在这个例子中,仅设置了“/”这一个模式字符串,并且所有请求的 URI 都能与之匹配,自然所有请求都会被设置的处理函数处理。
每个人都有潜在的能量,只是很容易被习惯所掩盖,被时间所迷离,被惰性所消磨~