建立连接
客户端发送 HTTP 请求后,服务器会根据域名进行域名解析,就是将网站名称转变成 IP 地址。之后通过发起 TCP 的三次握手建立连接,然后发送http请求
接收请求
API 服务器,在接收到请求之后,首先根据 HTTP 请求行的信息来解析到 HTTP 方法和路径,之后根据 API 服务器注册的路由信息(大概可以理解为:HTTP 方法 + 路径和具体处理函数的映射)找到具体的处理函数。
处理请求
在接收到请求之后,API 通常会解析 HTTP 请求报文获取请求头和消息体,然后根据这些信息进行相应的业务处理,HTTP 框架一般都有自带的解析函数,只需要输入 HTTP 请求报文,就可以解析到需要的请求头和消息体。
业务处理:
要编写一个 RESTful 风格的 API 服务器,首先需要一个 RESTful Web 框架,选择 GitHub star 数最多的 Gin。采用轻量级的 Gin 框架,具有如下优点:高性能、扩展性强、稳定性强、相对而言比较简洁
Viper 是国外大神 spf13 编写的开源配置解决方案,具有如下特性:
Viper 配置读取顺序:
从上面这些特性来看,Viper 毫无疑问是非常强大的,而且 Viper 用起来也很方便,在初始化配置文件后,读取配置只需要调用 viper.GetString()、viper.GetInt() 和 viper.GetBool() 等函数即可。