web 服务器是可以接收web请求并返回对应的请求数据的后端平台,go语言内置了丰富的关于http和tcp开发的工具包,今天,我们就利用基于http的工具开发web服务器框架吧。
今天是最基础入门的代码,所实现的功能很简单:当运行程序之后,在浏览器端输入对应的请求地址,此框架能自动处理。
开始动手吧:
package main
import (
"fmt"
"log"
"net/http"
)
/**
go 语言内置了net/http库,封装了http网络编程的基础的接口,
我们实现的lite_web框架便是基于net/http的
*/
func main() {
http.HandleFunc("/", indexHandler)
http.HandleFunc("/hello", helloHandler)
/**
ListenAndServe 用来启动web服务的,
第一个参数是地址,:9999
第二个参数则代表处理所有的http请求的实例,nil代表默认使用标准库中的实例处理
所以,第二个参数,是我们基于net/http标准库实现web框架的入口
源码:
Handler接口,需要实现ServeHTTP方法
*/
log.Fatal(http.ListenAndServe(":9999", nil))
}
func helloHandler(w http.ResponseWriter, req *http.Request) {
for k, v := range req.Header {
fmt.Println(k, v)
}
}
func indexHandler(w http.ResponseWriter, req *http.Request) {
fmt.Fprintf(w, "url.path = %q\n", req.URL.Path)
}
没错,代码只有这么多,很简单。
后台在端口9999进行监听,
此时我们在浏览器中输入网址:http://localhost:9999/hello
后端打印的数据为:
正确获取前台传送的数据并打印。