Go语言里面提供了一个完善的 net/http 包,通过 net/http 包我们可以很方便的搭建一个可以运行的 Web 服务器。同时使用 net/http 包能很简单地对 Web 的路由,静态文件,模版,cookie 等数据进行设置和操作。
站在用户的角度思考问题,与客户深入沟通,找到埇桥区网站设计与埇桥区网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、成都网站设计、成都外贸网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、雅安服务器托管、企业邮箱。业务覆盖埇桥区地区。
我们平时浏览网页的时候,会打开浏览器,然后输入网址后就可以显示出想要浏览的内容。这个看似简单的过程背后却隐藏了非常复杂的操作。
对于普通的上网过程,系统其实是这样做的:
图:用户访问一个站点的过程
通过上图可以将 Web 服务器的工作原理简单地归纳为:
前面简单介绍了 Web 服务器的工作原理,那么如何用Go语言搭建一个 Web 服务器呢?示例代码如下:
package main import ( "fmt" "log" "net/http" ) func main() { http.HandleFunc("/", index) // index 为向 url发送请求时,调用的函数 log.Fatal(http.ListenAndServe("localhost:8000", nil)) } func index(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "C语言中文网") }
使用 go run
命令运行上面的代码:
go run main.go
运行之后并没有什么提示信息,但是命令行窗口会被占用(不能再输入其它命令)。这时我们在浏览器中输入 localhost:8000 可以看到下图所示的内容,则说明我们的服务器成功运行了。
图:localhost:8000
提示:运行 Web 服务器会占用命令行窗口,我们可以使用 Ctrl+C 组合键来退出。
上面的代码只是展示了 Web 服务器的简单应用,下面我们来完善一下,为这个服务器添加一个页面并设置访问的路由。
首先我们准备一个 html 文件,并命名为 index.html,代码如下所示:
C语言中文网 C语言中文网
然后将我们上面写的 Web 服务器的代码简单修改一下,如下所示:
package main import ( "io/ioutil" "log" "net/http" ) func main() { // 在/后面加上 index ,来指定访问路径 http.HandleFunc("/index", index) log.Fatal(http.ListenAndServe("localhost:8000", nil)) } func index(w http.ResponseWriter, r *http.Request) { content, _ := ioutil.ReadFile("./index.html") w.Write(content) }
使用 go run
命令运行:
go run main.go
运行成功后,在浏览器中输入 localhost:8000/index 就可以看到我们所添加的页面了,如下图所示:
图:浏览 localhost:8000/index 页面
本文题目:创新互联GO教程:Go语言实现Web服务器
URL分享:http://www.mswzjz.cn/qtweb/news25/85325.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能