构建Go语言HTTP服务
在编写了用于发送HTTP请求的客户端代码后,接下来将构建一个能够处理这些请求并向客户端发送资源的服务器。Go语言的 net/http 包会处理大部分实现细节,让我们可以专注于实例化和配置服务器、创建资源以及处理每个客户端请求。
1. Go HTTP服务器的组成
Go中的HTTP服务器依赖于几个相互协作的组件:处理器(handlers)、中间件(middleware)和多路复用器(multiplexer)。当这些组件齐全时,我们称这个服务器为Web服务。
下面是一个典型的基于 net/http 的服务器中请求的处理路径:
graph LR
A[客户端请求] --> B[多路复用器]
B --> C{中间件}
C -->|可选通过多个中间件| D[处理器]
D --> E[服务器响应]
2. 实例化HTTP服务器
以下是创建一个HTTP服务器的示例代码:
package main
import (
"bytes"
"fmt"
"io"
"io/ioutil"
"net"
"net/http"
"testing"
"time"
"github.com/awoodbeck/gnp/ch09/handlers"
)
func Test
超级会员免费看
订阅专栏 解锁全文
1347

被折叠的 条评论
为什么被折叠?



