golang从0到1实战系统三十六:GO 搭建一个 web 服务器
创始人
2025-01-19 05:02:56
0次

前面小节已经介绍了 Web 是基于 http 协议的一个服务,Go 语言里面提供了一个完善的
net/http 包,通过 http 包可以很方便的就搭建起来一个可以运行的 web 服务。同时使用这个
包能很简单地对 web 的路由,静态文件,模版,cookie 等数据进行设置和操作。
http 包建立 web 服务器
package main
import (
“fmt”
“net/http”
“strings”
“log”
)
func sayhelloName(w http.ResponseWriter, r *http.Request) {
r.ParseForm() //解析参数,默认是不会解析的
fmt.Println(r.Form) //这些信息是输出到服务器端的打印信息
fmt.Println(“path”, r.URL.Path)
fmt.Println(“scheme”, r.URL.Scheme)
fmt.Println(r.Form[“url_long”])
for k, v := range r.Form {
fmt.Println(“key:”, k)
fmt.Println(“val:”, strings.Join(v, “”))
}
fmt.Fprintf(w, “Hello astaxie!”) //这个写入到 w 的是输出到客户端的
}
func main() {
http.HandleFunc(“/”, sayhelloName) //设置访问的路由
err := http.ListenAndServe(“:9090”, nil) //设置监听的端口
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
上面这个代码,我们 build 之后,然后执行 web.exe,这个时候其实已经在 9090 端口监听
http 链接请求了。
在浏览器输入 http://localhost:9090
可以看到浏览器页面输出了 Hello astaxie!
可以换一个地址试试:http://localhost:9090/?url_long=111&url_long=222
看看浏览器输出的是什么,服务器输出的是什么?
在服务器端输出的信息如下:
图 3.8 用户访问 Web 之后服务器端打印的信息
我们看到上面的代码,要编写一个 web 服务器很简单,只要调用 http 包的两个函数就可以
了。
如果你以前是 PHP 程序员,那你也许就会问,我们的 nginx、apache 服务器不需要吗?Go
就是不需要这些,因为他直接就监听 tcp 端口了,做了 nginx 做的事情,然后
sayhelloName 这个其实就是我们写的逻辑函数了,跟 php 里面的控制层(controller)函
数类似。
如果你以前是 python 程序员,那么你一定听说过 tornado,这个代码和他是不是很像,对,
没错,go 就是拥有类似 python 这样动态语言的特性,写 web 应用很方便。
如果你以前是 ruby 程序员,会发现和 ROR 的/script/server 启动有点类似。
我们看到 Go 通过简单的几行代码就已经运行起来一个 web 服务了,而且这个 Web 服务内
部有支持高并发的特性,我将会在接下来的两个小节里面详细的讲解一下 go 是如何实现
Web 高并发的。

相关内容

热门资讯

实测交流透视挂!宝玛大厅ai智... 实测交流透视挂!宝玛大厅ai智能透视挂教程,宝玛大厅破解软件经验(本来有挂辅助)1、每一步都需要思考...
总算了解辅助器!朱雀吴江三缺一... 总算了解辅助器!朱雀吴江三缺一ai智能透视辅助挂技巧,朱雀吴江三缺一好像是有挂(有辅助挂细节)朱雀吴...
今日公布透视!九五至尊大厅ai... 今日公布透视!九五至尊大厅ai智能透视插件,九五至尊大厅有没有透视挂窍门(切实有挂技术)1、在九五至...
玩家必看科普开挂!聚闲麻将ai... 玩家必看科普开挂!聚闲麻将ai智能透视辅助挂软件,聚闲麻将总是真的有挂(有辅助挂方式)聚闲麻将能透视...
据报道开挂!旅游娱乐ai智能开... 据报道开挂!旅游娱乐ai智能开挂工具,旅游娱乐辅助工具演示(一直有挂教学)1、全新机制【旅游娱乐ai...
一分钟揭秘开挂!决胜朋来麻将a... 一分钟揭秘开挂!决胜朋来麻将ai智能透视辅助挂教程,决胜朋来麻将真是真的是有挂(有辅助挂总结)1、首...
如何分辨真伪透视!红牛ai智能... 如何分辨真伪透视!红牛ai智能透视攻略,红牛是不是有挂经验(真是有挂技术)1、操作简单,无需红牛手机...
2分钟细说辅助器!江湖大庆麻将... 2分钟细说辅助器!江湖大庆麻将ai智能透视辅助挂攻略,江湖大庆麻将竟然是真的有挂(有辅助挂头条)1、...
总算清楚透视挂!老夫子厅ai智... 总算清楚透视挂!老夫子厅ai智能透视挂技巧,老夫子厅怎么开挂课程(好像发现有挂)老夫子厅破解侠是真的...
解密关于辅助!菜鸟麻将ai智能... 解密关于辅助!菜鸟麻将ai智能透视辅助挂脚本,菜鸟麻将总是存在有挂(有辅助挂存在)1、用户打开应用后...