通过Go语言
开发一个最简单的HTTP服务器
通过浏览器访问进行效果测试
核心步骤(基于HTTP协议)
1.注册相关路由的回调函数
对应网址http://127.0.0.1:666/user
http.HandleFunc("/user", func(writer http.ResponseWriter, request *http.Request) {
//request包含客户端发送来的数据
fmt.Println(request)
//服务器通过writer句柄将数据发送给客户端
io.WriteString(writer, "/user request received")
})
http.HandleFunc函数中的第一个参数"user"就是路由
访问对应网址后会执行相关的回调函数
2.启动HTTP服务器的监听并开启服务
err := http.ListenAndServe("127.0.0.1:666", nil)
if err != nil {
fmt.Println("http start failed err:", err)
return
}
http.ListenAndServer函数实现此功能
Server端代码(完整代码+详细注释)
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
//注册路由对应的回调函数func
//http://127.0.0.1:666/user
http.HandleFunc("/user", func(writer http.ResponseWriter, request *http.Request) {
//request包含客户端发送来的数据
fmt.Println(request)
//服务器通过writer句柄将数据发送给客户端
io.WriteString(writer, "/user request received")
})
//http://127.0.0.1:666/name
http.HandleFunc("/name", func(writer http.ResponseWriter, request *http.Request) {
//request包含客户端发送来的数据
fmt.Println(request)
//服务器通过writer句柄将数据发送给客户端
io.WriteString(writer, "/name request received")
})
//http://127.0.0.1:666/id
http.HandleFunc("/id", func(writer http.ResponseWriter, request *http.Request) {
//request包含客户端发送来的数据
fmt.Println(request)
//服务器通过writer句柄将数据发送给客户端
io.WriteString(writer, "/id request received")
})
//HTTP服务器 监听并启动服务
err := http.ListenAndServe("127.0.0.1:666", nil)
if err != nil {
fmt.Println("http start failed err:", err)
return
}
}
浏览器访问效果图