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 都能与之匹配,自然所有请求都会被设置的处理函数处理。

posted @ 2022-03-11 18:30  请务必优秀  阅读(190)  评论(0编辑  收藏  举报