这是我参与8月更文挑战的第2天,活动详情查看: 8月更文挑战
Web 应用程序是一种可以通过 Web 访问的应用程序,Web 程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件。Web 应用对于身处互联网时代的我们来说太普遍。无论哪一种语言,只要它能够开发出与人类交互的软件,它就必然会支持 Web 应用开发。
本系列文章将会介绍 Go Web 的应用与实践。欢迎关注。
上一篇文章介绍了访问 Web 站点的过程。用户在浏览器地址栏输入请求 URL,发起请求。通过 DNS 获取到主机的实际地址,这样就可以访问对应的服务器。服务器根据请求的类型返回给浏览器。了解了我们敲击回车之后,Web 应用访问所涉及的一系列步骤。接下来我们来具体构建 Go Web 服务器。
使用 Go 构建服务器
Go 在标准库中提供 HTTP 协议的支持,通过它可以快速简单的开发一个 Web 服务器。同时,Go 语言为开发者提供了很多便利。在介绍了 Web 相关的工作过程后,我们将会搭建一个 Go 语言版本的 Web 应用程序。
1 | go复制代码package main |
如上代码实现了一个简单的 Go Web 程序。在程序中配置了 Web 监听的端口为:8080,通过访问 http://localhost:8080/hello?name=aoho
,得到如下图所示的响应结果。
同时在控制台中,输出了如下的日志信息:
1 | makefile复制代码map[name:[aoho]] |
主函数中的注释 2 用于设置 Web 服务监听的端口号。注释 1 是设置访问的路由,所有的请求都由 sayHello
处理。在 sayHello
方法中,首先会解析参数,默认是不会解析的。我们将部分信息在服务器打印出来(包括请求的路径,请求的 Host 地址,Form 表单中的键值对),并且在注释 5 将指定的表单信息作为输出到客户端的内容,如示例中 的 name
对应的值。
小结
本文主要介绍使用 Go 构建服务器。Go 在标准库中提供了 HTTP 协议的支持,我们通过 net/http 可以很方便地实现一个 Go Web 程序。只要调用 Http 包的两个函数就可以了。下面的文章将会深入实现原理,具体讲解 Go 是如何接收和处理请求。
阅读最新文章,关注公众号:aoho求索
本文转载自: 掘金